前言

在Python爬蟲中,使用requests發(fā)送請求,訪問指定網(wǎng)站,是常見的做法。一般是發(fā)送GET請求或者POST請求,對于GET請求沒有什么好說的,而發(fā)送POST請求,有很多朋友不是很清楚,主要是因為容易混淆 POST提交的方式 。今天在微信交流群里,就有朋友遇到了這種問題,特地講解一下。
在HTTP協(xié)議中,post提交的數(shù)據(jù)必須放在消息主體中,但是協(xié)議中并沒有規(guī)定必須使用什么編碼方式,從而導致了 提交方式 的不同。服務端根據(jù)請求頭中的 Content-Type 字段來獲知請求中的消息主體是用何種方式進行編碼,再對消息主體進行解析。具體的編碼方式包括如下:
下面使用requests來發(fā)送上述三種編碼的POST請求。
1.提交Form表單
requests提交Form表單,一般存在于網(wǎng)站的登錄,用來提交用戶名和密碼。以http://httpbin.org/post 為例,在requests中,以form表單形式發(fā)送post請求,只需要將請求的參數(shù)構造成一個字典,然后傳給requests.post()的data參數(shù)即可。代碼如下:
url = 'http://httpbin.org/post'
d = {'key1': 'value1', 'key2': 'value2'}
r = requests.post(url, data=d)
print r.text
當前名稱:Pythonrequests發(fā)送post請求的一些疑點-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://chinadenli.net/article42/cepdec.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設、電子商務、搜索引擎優(yōu)化、網(wǎng)站收錄、企業(yè)建站、面包屑導航
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)