首页 > 编程语言 > 详细

Python3.x:requests的用法

时间:2017-12-30 19:46:22      阅读:229      评论:0      收藏:0      [点我收藏+]

Python3.x:requests的用法

1,requests 比 urllib.request 容错能力更强;

2,通常用法:

(1).认证、状态码、header、编码、json

r = requests.get(https://api.github.com/user, auth=(user, pass))
r.status_code

r.headers[content-type]
输出:application/json; charset=utf8
r.encoding
输出:utf-8
r.text
输出:u{"type":"User"...
r.json()
输出:{uprivate_gists: 419, utotal_private_repos: 77, ...}

(2).发起请求

import requests
URL="http://www.bsdmap.com/"
#
r = requests.get(URL)
#
r = requests.post(URL)
#
r = requests.put(URL)
#
r = requests.delete(URL)
#
r = requests.head(URL)
#
r = requests.options(URL)

(3).通过URL传递参数

payload = {key1: value1, key2: value2}
r = requests.get("http://httpbin.org/get", params=payload)
print r.url
输出:uhttp://httpbin.org/get?key2=value2&key1=value1

(4).返回内容

import requests
r = requests.get(https://github.com/timeline.json)
r.text
输出:[{"repository":{"open_issues":0,"url":"https://github.com/...
r.encoding
输出:utf-8
r.encoding = ISO-8859-1

(5).二进制内容

r.content
输出:b[{"repository":{"open_issues":0,"url":"https://github.com/...

from PIL import Image
from StringIO import StringIO
i = Image.open(StringIO(r.content))

(6).JSON

import requests
r = requests.get(https://github.com/timeline.json)
r.json()
输出:[{urepository: {uopen_issues: 0, uurl: https://github.com/...

(7).超时

requests.get(http://github.com, timeout=0.001)

(8).自定义header

import json
url = https://api.github.com/some/endpoint
payload = {some: data}
headers = {content-type: application/json}

r = requests.post(url, data=json.dumps(payload), headers=headers)

官方文档:http://docs.python-requests.org/en/latest/user/quickstart/

 

Python3.x:requests的用法

原文:https://www.cnblogs.com/lizm166/p/8150854.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!