当前位置 博文首页 > Python httplib模块使用实例

    Python httplib模块使用实例

    作者:admin 时间:2021-07-31 18:48

    httplib模块是一个底层基础模块,实现的功能比较少,正常情况下比较少用到.推荐用urllib, urllib2, httplib2.

    HTTPConnection 对象

    class httplib.HTTPConnection(host[, port[, strict[, timeout[, source_address]]]])

    创建HTTPConnection对象

    HTTPConnection.request(method, url[, body[, headers]])

    发送请求

    HTTPConnection.getresponse()

    获得响应

    HTTPResponse对象

    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

    获得头内容

    HTTPResponse.version

    获得头http版本

    HTTPResponse.status

    获得返回状态码

    HTTPResponse.reason

    获得返回说明

    实例

    复制代码 代码如下:

    #!/usr/bin/python
    import httplib

    conn = httplib.HTTPConnection("www.jb51.net")
    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

    jsjbwy