知行迭代
导航
首页
最近更改
随机页面
常用
分类目录
Linux命令
Mediawiki常用
电脑技巧
工具
链入页面
相关更改
特殊页面
页面信息
登录
查看“Requests”的源代码
←
Requests
页面
讨论
阅读
查看源代码
查看历史
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:[
[1]
]
您可以查看和复制此页面的源代码。
Requests是一个开源的[[Python]]库,主要用于发送HTTP请求。 ==简介== ===时间轴=== ===安装=== 使用[[pip]]安装: pip install requests ==快速入门== ===第一个程序=== <syntaxhighlight lang="python" > import requests r = requests.get('https://httpbin.org/basic-auth/user/pass', auth=('user', 'pass')) print(r.status_code) # 200 print(r.headers['content-type']) # 'application/json; charset=utf8' print(r.encoding) # 'utf-8' print(r.content) </syntaxhighlight> {{了解更多 |[https://requests.readthedocs.io/en/latest/ Requests 文档] }} === 添加 HTTP 头部=== 如果你想为请求添加 HTTP 头部,只要简单地传递一个字典给headers参数就可以了。 <syntaxhighlight lang="python" > import requests url = 'https://www.baidu.com' headers = {'user-agent': 'my-app/0.0.1'} r = requests.get(url, headers=headers) </syntaxhighlight> === 传递URL参数 === 传递URL参数,可以传递一个字典给参数params,Requests可以使用字典值生成相应url,如想传递 key1=value1 和 key2=value2 到 httpbin.org/get代码如下: <syntaxhighlight lang="python" > import requests payload = {'key1': 'value1', 'key2': 'value2'} r2 = requests.get("http://baidu.com/get", params=payload) print(r2.url) #http://baidu.com/get?key1=value1&key2=value2 </syntaxhighlight> ==发送请求== Requests功能主要通过下面7中方法,它们都返回Response对象的一个实例。 {| class="wikitable" |- ! 方法 ! 描述 ! 参数 |- | get | 发送GET请求 | url, params, \*\*kwargs |- | post | 发送POST请求 | url, data, json, \*\*kwargs |- | put | 发送PUT请求 | url, data, json, \*\*kwargs |- | delete | 发送DELETE请求 | url, \*\*kwargs |- | head | 发送HEAD请求 | url, \*\*kwargs |- | patch | 发送HEAD请求 | url, data, json, \*\*kwargs |- | request | 构造和发送请求 | method, url, params, data, json, headers, cookies, files, auth, timeout, allow_redirects, proxies, verify, stream, cert |} 示例: <syntaxhighlight lang="python" > r = requests.post('http://httpbin.org/post', data = {'key':'value'}) r = requests.put('http://httpbin.org/put', data = {'key':'value'}) r = requests.delete('http://httpbin.org/delete') r = requests.head('http://httpbin.org/get') </syntaxhighlight> {{了解更多 |[https://requests.readthedocs.io/en/latest/api/#main-interface Requests API文档:主要接口] }} ==Response对象== Response对象包含服务器对一个HTTP请求的的响应。 示例中的r: r = requests.get('https://www.baidu.com') {| class="wikitable" |- ! 属性与方法 ! 描述 ! 示例 |- | text | str类型(Unicode编码)响应内容 | r.text |- | content | 二进制类型响应内容 | r.content |- | raw | 原始套接字响应内容 | r.raw |- | status_code | 响应的状态码 | r.status_code |- | ok | 如果status_code小于400返回Ture | r.ok |- | raise_for_status | | |- | request | 响应对应的请求 | r.request |- | headers | 响应头部 | r.headers |- | url | 响应的最终请求地址 | r.url |- | apparent_encoding | 响应编码类型(chardet检测) | r.apparent_encoding |- | encoding | | r.encoding |- | json() | JSON解码器 | r.json() |- | close() | | |- | cookies | | |- | elapsed | | |- | history | | |- | is_permanent_redirect | | |- | is_redirect | | |- | iter_content | | |- | iter_lines | | |- | links | | |- | next | | |- | reason | | |} {{了解更多 |[https://requests.readthedocs.io/en/latest/api/#requests.Response API文档:Response对象] }} ==资源== ===官网=== *Requests 官网:https://requests.readthedocs.io/ *Requests 文档:https://requests.readthedocs.io/ *Requests 源代码:https://github.com/psf/requests ===网站===
本页使用的模板:
模板:了解更多
(
查看源代码
)
返回至“
Requests
”。