1. 程式人生 > >Python requests庫

Python requests庫

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庫