1.安裝python
pip install requestsnginx
2.基本用法git
就是以某種HTTP方法向遠端服務器發送一個請求而已github
1 import requests 2 3 r = requests.get('https://github.com/timeline.json') 4 r = requests.post("http://httpbin.org/post") 5 r = requests.put("http://httpbin.org/put") 6 r = requests.delete("http://httpbin.org/delete") 7 r = requests.head("http://httpbin.org/get") 8 r = requests.options("http://httpbin.org/get")
所謂 requests.get
,就是以GET方式發送一個REQUEST,獲得一個Response
類的結果,保存爲 r
。
json
3.URL傳參/獲取請求的URL服務器
<協議>://<域名>/<接口>?<鍵1>=<值1>&<鍵2>=<值2>app
requests庫提供的HTTP方法,提供了名爲params的參數,這個參數可接受一個python字典,並自動格式化爲上述格式post
1 import requests 2 3 url = 'http://www.so.com/s' 4 5 params = {'ie': 'utf-8', 'q': 'query'} 6 7 r = requests.get(url, params=params) 8 9 print r.url
獲得結果:url
http://www.so.com/s?q=query&ie=utf-8
4.設置超時spa
requests的超時設置以秒爲單位
設置超時爲5秒
1 import requests 2 3 url = 'http://www.zhihu.com' 4 5 r = requests.get(url, timeout=5)
5.請求頭部
默認頭部
1 import requests 2 3 cs_url = 'http://httpbin.org/get' 4 r = requests.get (cs_url) 5 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" }
咱們能夠自定義請求的頭部
1 import requests 2 3 my_headers = {'User-Agent' : 'From Liam Huang', 'Accept-Encoding' : 'gzip'} 4 cs_url = 'http://httpbin.org/get' 5 r = requests.get (cs_url, headers = my_headers) 6 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來查看
1 import requests 2 3 cs_url = 'http://httpbin.org/get' 4 r = requests.get (cs_url) 5 print r.headers
結果
{
"content-length": "263", "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" }