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 。

你可能感兴趣的:(python request库)