python agent應用

BaseHTTPServer 模塊說明

class BaseHTTPServer.HTTPServer(server_address, RequestHandlerClass)
server_address : 是一個服務器 (ip, port)元組。
RequestHandlerClass : 負責處理實例參數的類。

class BaseHTTPServer.BaseHTTPRequestHandler(request, client_address, server)
這個類負責處理到達服務端的請求
就其本身而言,它不響應任何實際的HTTP請求;只能被其他類繼承來處理每個不同的請求(GET or POST)
該處理程序將解析請求和標題, 然后根據請求類型的不同調用不同的方法進行處理
SPAM ---> do_SPAM()
所有相關信息都存儲在處理程序的實例變量中,子類不需要重寫或擴展__init__() 方法

BaseHTTPRequestHandler 擁有的實例變量:

client_address
    客戶端的(host, port)
server
    服務端實例  --->  <BaseHTTPServer.HTTPServer instance at 0x7f8f9b229758>
command
    請求的類型 ---> POST
path
    請求的路徑
request_version
    請求的版本 ---> 'HTTP/1.0'
headers
    請求頭信息 --->    Accept-Encoding: identity
                       Content-Length: 74
                       Host: 192.168.1.109:33433
                       Content-Type: application/x-www-form-urlencoded
                       Connection: close
                       User-Agent: Python-urllib/2.7
rfile
    輸入流,起始于輸入數據的開始,輸入數據是可選的。 
wfile
    輸出流,用于寫入返回給客戶端的響應
    
BaseHTTPRequestHandler 擁有的類變量
protocol_version
        響應中使用的HTTP 協議的版本。如果設置為'HTTP/1.1',服務器將允許HTTP 持久連接;
        然而,此時你的服務器必須在所有給客戶端的響應中包含一個準確的Content-Length 頭
        (使用send_header())。為了向后兼容,該設置默認為'HTTP/1.0'。
        
BaseHTTPRequestHandler 方法    
handle()        
        調用一次handle_one_request()方法(如果啟用持久連接,則調用多次)來處理進來的HTTP 請求。
        你應該永遠不會需要覆蓋它;相反,應該實現合適的do_*() 方法。
handle_one_request()        
        該方法將解析并分發請求給合適的do_*() 方法。你應該永遠不需要覆蓋它。

原創文章,作者:心肝壞了,如若轉載,請注明出處:http://www.www58058.com/41818

(0)
心肝壞了心肝壞了
上一篇 2016-09-19
下一篇 2016-09-19

相關推薦

  • 搜索引擎-倒排索引基礎知識

    1.單詞——文檔矩陣        單詞-文檔矩陣是表達兩者之間所具有的一種包含關系的概念模型,圖3-1展示了其含義。圖3-1的每列代表一個文檔,每行代表一個單詞,打對勾的位置代表包含關系。          …

    Linux干貨 2015-12-10
  • LAMP分離環境的搭建(最新版本的mysql+php+http源碼編譯安裝)

    實驗者:FrankStar      實驗日期:20150628 任務:主要是實現在Linux環境下配置LAMP環境,利用VMware+centos6.4實現,將LAMP分離為多臺主機; 附注:由于大家的環境不一樣,可能有些人已經安裝了這個包或者那個軟件,所以調試的環境結果也不一樣,為了盡量能模擬到 可能出現的所有問題,在編譯會…

    Linux干貨 2015-06-30
  • linux系統從windows xp上同步時間

    最近公司客戶的調度系統GPS天文時鐘出現故障,導致整個調度系統失去時間源,時間積累誤差達十幾分鐘。去現場更換時鐘很不方便,所有就想用現場的一臺win xp(可上網)的遠程機器做NTPserver,然后給linux系統對時。上網查了好多資料,終于找到了一個有效的解決方案,具體內容和步驟如下:首先下載一個Windows下的NTP服務軟件。這個軟件可以搭建wind…

    Linux干貨 2015-03-27
  • ldirectord 結合ipvsadm 配置nat,dr模型

    ldirectord 結合ipvsadm 配置nat,dr模型  一、nat模型 1、 drector # wget ftp://172.16.0.1/pub/Sources/7.x86_64/crmsh/ldirectord-3.9.6-0rc1.1.1.x86_64.rpm # yum -y install nginx (同…

    Linux干貨 2016-11-24
  • bash的基礎特性之一

    bash的基礎特性之一 命令歷史:shell進程會保存會話中此前用戶使用過的命令; history:命令的用法 history 【-c】【-d #】 【n】或者【文件名】     -c:清空命令歷史     -d 【#】:刪除指定的命令歷史…

    Linux干貨 2016-12-18
欧美性久久久久