1. 程式人生 > >requests庫使用方法 -> POST請求

requests庫使用方法 -> POST請求

requests庫使用方法 -> POST請求 1

+ data引數與params引數是有區別的

  POST請求所對應的post方法同樣是傳入一個url字串、可以傳入需要提交的引數、也可以傳入資料2、返回的也是一個Request型別的物件,下面就給個簡單示例而不再贅述:

# Filename: spider0.py
import requests
url = 'https://httpbin.org/post'
data = {
    'World': 'Hello',
}
resp = requests.post(url=url, data=data, params=data)
print
(resp.text)

+ 獲取響應資訊

  無論是那個請求方式,在requests庫中請求成功返回的都是一個Response物件,它實質就是將響應視為一種物件,即一個Response物件就對應著一個具體的響應。而想要獲取響應的資訊也就很容易能想到就是獲取Response物件的各種屬性。

  所謂的響應資訊最直觀的就是獲取到的網頁內容/資料,但狀態碼、Cookies、響應頭等都屬於響應資訊。到現在已經寫過了text、content、status_code這些Response物件的屬性,下面看下更多的響應資訊:

先注意以下,這裡很明顯寫的東西(就是Response物件的屬性)和具體的請求方式是無關的。

# Filename: spider1.py
import requests
url = 'http://httpbin.org/post'
resp = requests.post(url)

print(resp.status_code)    # 狀態碼
print(resp.headers)        # 響應頭
print(resp.cookies)        # cookies
print(resp.url)            # url
print(resp.history)        # 請求歷史
  1. 學習於《Python3網路爬蟲開發實戰》 ↩︎

  2. 需要注意一下,向url傳入引數params和from表單提交資料data是有區別的,在接下來的程式碼示例中不僅使用了url引數還提交了資料。傳入引數其內容會顯示在url中;而提交資料是不會顯示在url中的。一般get方法會使用params引數,即內容顯示在url中;而post方法使用data引數。但是!post和get方法其實都可以同時使用params和data,具體的post方式請求和get方式請求的區別可以查閱其它資料 。

    ↩︎