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