Requests 響應(yīng)頭

2022-06-27 14:41 更新

上一節(jié)我們給大家介紹了Python爬蟲庫(kù)requests響應(yīng)狀態(tài)碼,今天為大家介紹下Requests 響應(yīng)頭相關(guān)內(nèi)容。

我們可以查看以一個(gè) Python 字典形式展示的服務(wù)器響應(yīng)頭:

>>> r.headers
{
    'content-encoding': 'gzip',
    'transfer-encoding': 'chunked',
    'connection': 'close',
    'server': 'nginx/1.0.4',
    'x-runtime': '148ms',
    'etag': '"e1ca502697e5c9317743dc078f67693f"',
    'content-type': 'application/json'
}

但是這個(gè)字典比較特殊:它是僅為 HTTP 頭部而生的。根據(jù) RFC 2616, HTTP 頭部是大小寫不敏感的。

因此,我們可以使用任意大寫形式來(lái)訪問(wèn)這些響應(yīng)頭字段:

>>> r.headers['Content-Type']
'application/json'

>>> r.headers.get('content-type')
'application/json'

它還有一個(gè)特殊點(diǎn),那就是服務(wù)器可以多次接受同一 header,每次都使用不同的值。但 Requests 會(huì)將它們合并,這樣它們就可以用一個(gè)映射來(lái)表示出來(lái),參見 RFC 7230:

A recipient MAY combine multiple header fields with the same field name into one "field-name: field-value" pair, without changing the semantics of the message, by appending each subsequent field value to the combined field value in order, separated by a comma.
譯文:接收者可以合并多個(gè)相同名稱的 header 欄位,把它們合為一個(gè) "field-name: field-value" 配對(duì),將每個(gè)后續(xù)的欄位值依次追加到合并的欄位值中,用逗號(hào)隔開即可,這樣做不會(huì)改變信息的語(yǔ)義。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)