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 13:48
下一篇 2016-09-19 13:49

相關推薦

  • 四大開源協議的異同:GPL、LGPL、BSD、Apache

    便于自身理解四大常用開源協議的異同之處。

    Linux干貨 2017-10-25
  • 馬哥教育網絡版25期+第一周作業

    1、描述計算機的組成及其功能 計算機是由CPU,控制器,RAM,輸入設備,輸出設備組成的 2、按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別 現如今主流的LINUX發行版系列主要有: Debian,Slackware,Redhat,這些發行版都是基于GUNLinux開發的,不過是由不同的組織或團體開發并發行的。 3、描述Linux的哲學思想,…

    Linux干貨 2016-12-05
  • Linux的發展史

    Linux的誕生 1987年荷蘭阿姆斯特丹Vrije大學的Andrew S.Tanenbaum 教授為了讓學生們更了解操作系統而參照Unix系統編寫了Minix系統。在1988年芬蘭赫爾辛基大學迎來了一位新生Linus Benedict Torvalds ,他在學習了Minix系統后,以此為平臺和指導開發出了Linux。在1991年8月Linus Toval…

    Linux干貨 2016-10-19
  • 設計模式概論

    1. 設計模式        設計模式(Design pattern)是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。 毫無疑問,設計模式于己于他人于系統都是多贏的,設計模式使代碼編制真正工程化,設計模式是軟件工程的基石,如同大廈…

    Linux干貨 2015-06-18
  • 7.11 centos 7安裝重點之磁盤分區+SecureCRT 8.0安裝步驟

    一:Centos安裝重點之磁盤分區   0.前言      0.1  常見的磁盤接口有兩種,IDE與SATA接口,目前主流的為SATA接口      0.2  關于主分區、擴展分區、邏輯分區的特性           ①…

    2017-07-11
  • AB測試命令

    [root@chuangyuegou ~]# ab -n 10000 -c 49 http://192.168.0.99/index.html This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd,…

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