1.安装
pip install requests
2.基本用法
就是以某种HTTP方法向远端服务器发送一个请求而已
import requests r = requests.get('https://github.com/timeline.json')
r = requests.post("http://httpbin.org/post")
r = requests.put("http://httpbin.org/put")
r = requests.delete("http://httpbin.org/delete")
r = requests.head("http://httpbin.org/get")
r = requests.options("http://httpbin.org/get")
所谓 requests.get
,就是以GET方式发送一个REQUEST,得到一个Response
类的结果,保存为 r
。
3.URL传参/获取请求的URL
<协议>://<域名>/<接口>?<键1>=<值1>&<键2>=<值2>
requests库提供的HTTP方法,提供了名为params的参数,这个参数可接受一个python字典,并自动格式化为上述格式
import requests url = 'http://www.so.com/s' params = {'ie': 'utf-8', 'q': 'query'} r = requests.get(url, params=params) print r.url
得到结果:
http://www.so.com/s?q=query&ie=utf-8
4.设置超时
requests的超时设置以秒为单位
设置超时为5秒
import requests url = 'http://www.zhihu.com' r = requests.get(url, timeout=5)
5.请求头部
默认头部
import requests cs_url = 'http://httpbin.org/get'
r = requests.get (cs_url)
print r.content
结果
{
"args": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.7.0 CPython/2.7.10 Windows/7"
},
"origin": "xx.xx.xx.xx",
"url": "http://httpbin.org/get"
}
我们可以自定义请求的头部
import requests my_headers = {'User-Agent' : 'From Liam Huang', 'Accept-Encoding' : 'gzip'}
cs_url = 'http://httpbin.org/get'
r = requests.get (cs_url, headers = my_headers)
print r.content
结果
{
"args": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip",
"Host": "httpbin.org",
"User-Agent": "From Liam Huang"
},
"origin": "xx.xx.xx.xx",
"url": "http://httpbin.org/get"
}
可以看到User-Agent和Accept-Encoding都已经改变
6.响应头部
可以通过response.headers来查看
import requests cs_url = 'http://httpbin.org/get'
r = requests.get (cs_url)
print r.headers
结果
{
"content-length": "",
"server": "nginx",
"connection": "keep-alive",
"access-control-allow-credentials": "true",
"date": "Fri, 26 Feb 2016 10:26:17 GMT",
"access-control-allow-origin": "*",
"content-type": "application/json"
}