Python requests庫
阿新 • • 發佈:2019-01-13
let 列表 ssa swe requests ams 參數 not local
Python requests是python的一個HTTP客戶端庫,可以使用requests庫提供的方法對http協議進行請求。 requests安裝: Pip install requests 也可以下載安裝包進行安裝。 Python setup.py install Requests 方法: 發送get請求的方法,語法格式 get(url, params=None, **kwargs) Url:請求的url地址 Params:(可選)字典,要發送的元組或字節列表的參數 發送options請求的方法,語法格式: options(url, **kwargs) Url:請求的url地址 發送head請求的方式,語法格式: head(url, **kwargs) Url:請求的url地址 發送post請求的方法,語法格式: post(url, headers=None,data=None, json=None, **kwargs) Url:請求的url地址 Headers:請求的頭部信息 Data:可發送參數數據(可選),字典、元組列表,字節或類文件 Json:可發送以json格式的參數數據 發送put請求的方法,語法格式: put(url, data=None, **kwargs) Url:請求的url地址 Data:可發送以字典,元組列表,字節或類文件的參數 發送patch請求的方法,語法格式: patch(url, data=None, **kwargs) Url:請求的url地址 Data:可發送以字典,元組列表,字節或類文件的參數 發送delete請求的方法,語法格式: delete(url, **kwargs) Url:請求的url地址 請求響應的屬性: 1、content:返回請求的(html)頁面內容。 2、status_code:返回請求的狀態碼,如200,404,500 3、headers:返回頭部信息,如下: {‘Content-Length‘: ‘4591‘, ‘X-Powered-By‘: ‘PHP/5.4.7‘, ‘Set-Cookie‘: ‘pO5_sid=XVJfCz; expires=Sun, 20-Jan-2019 06:25:45 GMT; path=/; httponly‘, ‘Keep-Alive‘: ‘timeout=5, max=100‘, ‘Server‘: ‘Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7‘, ‘Connection‘: ‘Keep-Alive‘, ‘Date‘: ‘Sun, 13 Jan 2019 06:25:45 GMT‘, ‘Content-Type‘: ‘text/html‘} 4、url:返回請求的url地址。 5、encoding:返回支持的編碼類型ISO-8859-1 6、reason:返回狀態,如(成功:ok,找不到頁面:not found) 7、cookies:返回cookie信息,以字典的形式 8、elapsed:請求消耗的時間。如:0:00:01.075466 9、text:請求響應的數據,與content內容相似。 下面取最常用的兩個方法get、post方法進行演示。 Get請求: url=‘http://localhost:8090/test/logging.php response=requests.get(url) print response 運行結果: <Response [200]> [Finished in 1.5s] Post請求: url=‘http://localhost:8090/test/logging.php?action=login&loginsubmit=yes&floatlogin=yes&inajax=1‘ loginParam={ "formhash":"1f3a2bb2", "referer":"http://localhost:8090/discuz/", "loginfield":"username", "username":"A12345", "password":"123456", "questionid":"0", "answer":"" } response=requests.post(url=url,data=loginParam) print response.text 運行結果: <?xml version="1.0" encoding="utf-8"?><root><![CDATA[<script type="text/javascript" reload="1"> display(‘main_messaqge‘); display(‘layer_login‘); display(‘layer_message‘); $(‘messageleft‘).innerHTML = ‘<p>歡迎您回來 新手上路 A12345</p>‘; $(‘messageright‘).innerHTML = ‘<a href="javascript:;" onclick="location.reload()">如果頁面沒有響應,請點這裏刷新</a>‘; setTimeout(‘location.reload()‘, 3000); </script> </div></div> </div> ]]></root> [Finished in 2.6s]
Python requests庫