Python httplib模塊使用實(shí)例

字號(hào):


    httplib模塊是一個(gè)底層基礎(chǔ)模塊,實(shí)現(xiàn)的功能比較少,正常情況下比較少用到.推薦用urllib, urllib2, httplib2.
    HTTPConnection 對(duì)象
    class httplib.HTTPConnection(host[, port[, strict[, timeout[, source_address]]]])
    創(chuàng)建HTTPConnection對(duì)象
    HTTPConnection.request(method, url[, body[, headers]])
    發(fā)送請(qǐng)求
    HTTPConnection.getresponse()
    獲得響應(yīng)
    HTTPResponse對(duì)象
    HTTPResponse.read([amt])
    Reads and returns the response body, or up to the next amt bytes.
    HTTPResponse.getheader(name[, default])
    獲得指定頭信息
    HTTPResponse.getheaders()
    獲得(header, value)元組的列表
    HTTPResponse.fileno()
    獲得底層socket文件描述符
    HTTPResponse.msg
    獲得頭內(nèi)容
    HTTPResponse.version
    獲得頭http版本
    HTTPResponse.status
    獲得返回狀態(tài)碼
    HTTPResponse.reason
    獲得返回說(shuō)明
    實(shí)例
    代碼如下:
    #!/usr/bin/python
    import httplib
    conn = httplib.HTTPConnection("")
    conn.request("GET", "/")
    r1 = conn.getresponse()
    print r1.status, r1.reason
    print '-' * 40
    headers = r1.getheaders()
    for h in headers:
    print h
    print '-' * 40
    print r1.msg
    輸出:
    代碼如下:
    200 OK
    ----------------------------------------
    ('content-length', '106883')
    ('accept-ranges', 'bytes')
    ('vary', 'Accept-Encoding, Accept-Encoding')
    ('keep-alive', 'timeout=20')
    ('server', 'ngx_openresty')
    ('last-modified', 'Fri, 10 Apr 2015 09:30:10 GMT')
    ('connection', 'keep-alive')
    ('etag', '"55279822-1a183"')
    ('date', 'Fri, 10 Apr 2015 09:48:15 GMT')
    ('content-type', 'text/html; charset=utf-8')
    ----------------------------------------
    Server: ngx_openresty
    Date: Fri, 10 Apr 2015 09:48:15 GMT
    Content-Type: text/html; charset=utf-8
    Content-Length: 106883
    Connection: keep-alive
    Keep-Alive: timeout=20
    Vary: Accept-Encoding
    Last-Modified: Fri, 10 Apr 2015 09:30:10 GMT
    Vary: Accept-Encoding
    ETag: "55279822-1a183"
    Accept-Ranges: bytes