Python httplib模块使用实例

yipeiwu_com7年前Python基础

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

相关文章

Python协程的用法和例子详解

Python协程的用法和例子详解

从句法上看,协程与生成器类似,都是定义体中包含 yield 关键字的函数。可是,在协程中, yield 通常出现在表达式的右边(例如, datum = yield),可以产出值,也可以不...

Python获取命令实时输出-原样彩色输出并返回输出结果的示例

经试验显示效果不错。 #!/usr/bin/python3 # -*- coding: utf-8 -*- import os import subprocess # 与在命令窗...

在Python中预先初始化列表内容和长度的实现

如果想设置相同的初值和想要的长度 >>> a=[None]*4 >>> print(a) [None, None, None, None] 如果...

python3.6数独问题的解决

python3.6数独问题的解决

算法比较暴力,直接用穷举的方式一个一个去试,所以程序运行时间会比较长,运行时间视数独而定。 不过从一开始到运行成功,整个过程却是一波三折,设计算法就花了不少时间,然后就是不断地去调试,找...

pytorch实现对输入超过三通道的数据进行训练

案例背景:视频识别 假设每次输入是8s的灰度视频,视频帧率为25fps,则视频由200帧图像序列构成.每帧是一副单通道的灰度图像,通过pythonb里面的np.stack(深度拼接)可将...