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(“”)
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
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(“”)
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