python requests模塊
一. 向網頁發送數據
1. get(帶參數的:params)
payload = {'key1': 'value1', 'key2': ['value2', 'value3']}
r = requests.get('http://httpbin.org/get', params=payload)
2. post(帶參數的:data)
post與get方法都相似,只不過不是params=...而是data=...python
傳遞表單
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("http://httpbin.org/post", data=payload)
傳遞文件 (files)
url = 'http://httpbin.org/post'
files = {'file': open('report.xls', 'rb')}
r = requests.post(url, files=files)
3. Requests庫的七個方法以及13個參數
- requests.request():構造一個請求,支撐一下各方法的基礎方法
- requests.get():獲取HTML網頁的主要方法,對應HTTP的GET
- requests.head():獲取HTML網頁頭的信息方法,對應HTTP的HEAD
- requests.post():向HTML網頁提交POST請求方法,對應HTTP的POST
- requests.put():向HTML網頁提交PUT請求的方法,對應HTTP的RUT
- requests.patch():向HTML網頁提交局部修改請求,對應於HTTP的PATCH
- requests.delete():向HTML頁面提交刪除請求,對應HTTP的DELETE
- HTTP,Hypertext Transfer Protocol,超文本傳輸協議。
- HTTP是一個基於「請求與響應」模式的,無狀態的應用層協議。
- HTTP協議採用URL做爲定位網絡資源的標識。
- URL格式:http://host[:port][path]
- host:合法的Internet主機域名或IP地址
- port:端口號,缺省端口爲80
- path:請求資源的路徑
- URL是經過HTTP協議存取資源的Internet路徑,一個URL對應一個數據資源。
requests.request(method,url,**kwargs)
- method:請求方式,對應get/put/post等7種
- url:擬獲取頁面的url連接
- **kwargs:控制訪問參數,共13個
- **kwargs:控制訪問的參數,均爲可選項:
====json
十三個參數包括:
- params:字典或字節序列,做爲參數增長到url中
- data:字典,字節序列或文件對象,做爲Request的內容
- json:JSON格式的數據,做爲Request的內容
- headers:字典,HTTP定製頭(模擬瀏覽器進行訪問)
- cokies:字典或CpplieJar,Request中的cookie
- auth:元祖,支持HTTP認證功能
- files:字典類型,傳輸文件
- timeout:設定超時時間,秒爲單位
- proxies:字典類型,設定訪問代理服務器,能夠增長登錄認證
- allow_redirects:True//False,默認爲True,重定向開關
- stream:True/False,默認爲True,獲取內容當即下載開關
- verify:True/False,默認爲True,認證SSL證書開關
- cert:本地SSL證書路徑"""
例:瀏覽器
kv={'key1':'value','key2':'value2'}
r=requests.request('GET','http://python123.io/ws',params=kv)
print(r.url)
輸出結果:服務器
http://python.io/ws?key1=value1&key2=value2