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"
}

 

04-26 14:34
查看更多