python request库

request库

目的:系统的分析,掌握request库

参考:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

1. 普通的请求方法

a = requests.get(url)

a = requests.post(url,data = {'key':'value'})

a = requests.put(url,data = {'key':'value'})

a = requests.delete(url)

a = requests.head(url)

a = requests.options(url)

2. 含参数的请求方法

payload = {'key1': 'value1', 'key2': 'value2'}

a = requests.get("http://httpbin.org/get", params = payload)


payload = {'key1': 'value1', 'key2': ['value2', 'value3']}

a = requests.get('http://httpbin.org/get', params = payload)

3. 请求之后使用的方法

a.url

a.text(服务器响应内容)

a.encoding

a.content(二进制响应内容)

a.json()

a.raw

4. 请求头

headers = {'user-agent': 'my-app/0.0.1'}

a = requests.get(url, headers=headers)

5. 响应状态码

a.status_code

requests.codes.ok

6. 响应头

a.headers(以列表形式)

7. cookie

a.cookies

cookies = dict(cookies_are='working')

a = requests.get(url, cookies=cookies)

8. 重定向

a.history (如果重定向会显示3XX)


a = requests.get(url, allow_redirects=False)
GET,OPTIONS,POST,PUT,PATCH,DELETE方法可以借此禁用重定向


a = requests.head(url, allow_redirects=True)
HEAD方法可以借此来开启重定向

9. 超时

a = requests.get(url, timeout=0.001)

10. 错误与异常

遇到网络问题(如:DNS 查询失败、拒绝连接等)时,Requests 会抛出一个 ConnectionError 异常。


如果 HTTP 请求返回了不成功的状态码, Response.raise_for_status() 会抛出一个 HTTPError 异常。


若请求超时,则抛出一个 Timeout 异常。

若请求超过了设定的最大重定向次数,则会抛出一个 TooManyRedirects 异常。


所有Requests显式抛出的异常都继承自 requests.exceptions.RequestException 。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。