69pao国产精品视频-久久精品一区二区二三区-精品国产精品亚洲一本大道-99国产综合一区久久

Python HTTP響應(yīng)

Python HTTP響應(yīng)

http或超文本傳輸協(xié)議適用于客戶(hù)端服務(wù)器模型。通常,Web瀏覽器是客戶(hù)端,托管網(wǎng)站的計(jì)算機(jī)是服務(wù)器。在收到客戶(hù)端的請(qǐng)求后,服務(wù)器會(huì)生成響應(yīng)并將其以某種格式發(fā)送回客戶(hù)端。

在接收并解釋了請(qǐng)求消息后,服務(wù)器將以HTTP響應(yīng)消息進(jìn)行響應(yīng):

  • 狀態(tài)行
  • 零個(gè)或多個(gè)標(biāo)頭(General | Response | Entity)字段,后跟CRLF
  • 空行(即CRLF之前沒(méi)有任何內(nèi)容的行)指示標(biāo)題字段的末尾
  • 可選的消息正文

以下各節(jié)說(shuō)明了HTTP響應(yīng)消息中使用的每個(gè)實(shí)體。

1. 消息狀態(tài)行

狀態(tài)行由協(xié)議版本,后面的數(shù)字狀態(tài)代碼及其關(guān)聯(lián)的文本短語(yǔ)組成。元素由空格SP字符分隔。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : m.aalaour.cn
# Date : 2020-08-25
Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
  
 

2. HTTP版本

支持HTTP版本1.1的服務(wù)器將返回以下版本信息:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : m.aalaour.cn
# Date : 2020-08-25
HTTP-Version = HTTP/1.1
  
 

3. 狀態(tài)碼

Status-Code元素是一個(gè)三位數(shù)的整數(shù),其中Status-Code的第一位定義響應(yīng)的類(lèi)別,最后兩位不具有任何分類(lèi)作用。第一位數(shù)字有5個(gè)值:

編號(hào) 狀態(tài)碼 描述
1 1xx 信息性:表示已收到請(qǐng)求,并且該過(guò)程正在繼續(xù)。
2 2xx 成功:表示已成功接收,理解并接受了該動(dòng)作。
3 3xx 重定向:表示必須采取進(jìn)一步的措施才能完成請(qǐng)求。
4 4xx 客戶(hù)端錯(cuò)誤:請(qǐng)求包含不正確的語(yǔ)法或無(wú)法實(shí)現(xiàn)。
5 5xx 服務(wù)器端錯(cuò)誤:服務(wù)器無(wú)法滿(mǎn)足有效的請(qǐng)求。

HTTP狀態(tài)代碼是可擴(kuò)展的,不需要HTTP應(yīng)用程序來(lái)了解所有已注冊(cè)狀態(tài)代碼的含義。

4. 使用Python請(qǐng)求

在下面的python程序中,使用urllib3模塊發(fā)出http GET請(qǐng)求并接收包含數(shù)據(jù)的響應(yīng)。它還提供了響應(yīng)代碼,該響應(yīng)代碼也由模塊中的功能管理。PoolManager對(duì)象處理連接池的所有詳細(xì)信息,還處理線程安全性。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : m.aalaour.cn
# Date : 2020-08-25
import urllib3
 http = urllib3.PoolManager()
 resp = http.request('GET', 'http://yapf.com/robots.txt')
 print resp.data
 # get the status of the response
 print resp.status
  
 

當(dāng)我們運(yùn)行上面的程序時(shí),得到類(lèi)似以下輸出 :

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : m.aalaour.cn
# Date : 2020-08-25
User-agent: *
 Disallow: /tmp
 Disallow: /logs
 Disallow: /rate/*
 Disallow: /cgi-bin/*
 Disallow: /video/video_course_view.php?*
 Disallow: /video/course_view.php?*
 Disallow: /videos/*
 Disallow: /*/*_question_bank/*
 Disallow: //*/*/*/*/src/*
 200
  
 

下一節(jié):Python HTTP標(biāo)頭

Python 網(wǎng)絡(luò)編程

相關(guān)文章