python httplib学习笔记

本文介绍了Python内置httplib模块的基本用法,包括HTTPConnection和HTTPSConnection类的创建方式及其常用方法,如request、getresponse和read等。同时探讨了在特定场景下如何利用httplib进行错误请求返回值检查。

httplib是一个相对底层的http请求模块,其上有专门的包装模块例如urllib内建模块。但是封装这个东西,越是封装,越不灵活。urllib模块里请求错误时就不会返回结果页的内容,只有头信息,对于某些需要进行错误请求返回值检查的场景就不适用。

class httplib.HTTPConnection该类用于创建一个http类型的请求连接
HTTPConnection(host[, port[, strict[, timeout]]])返回一个HTTPConnection对象
host:请求服务器的host,不能带http://
port:服务器的web服务端口
strict:是否严格检查请求的状态行,就是http1.0/1.1 协议版本的那一行,即请求的第一行,默认为False,为True时检查错误会抛异常
timeout:单次请求的超时时间,没有时默认使用httplib模块内的全局的超时时间。

class httplib.HTTPSConnetion用于创建一个https类型的请求连接
`HTTPSConnection(host[, port[, key_filep[, cert_file[, strict[, timeout]]]])返回一个HTTPSConnection对象
key_file:一个包含PEM格式的私钥文件
cert_file:一个包含PEM格式的认证文件

HTTPConnection对象request方法
conn.request(method, url[, body[, headers]])
method: 请求的方式,如’GET’,’POST’,’HEAD’,’PUT’,’DELETE’等
url: 请求的网页路径。如:’/index.html’
body: 请求是否带数据,该参数是一个字典
headers: 请求是否带头信息,该参数是一个字典,不过键的名字是指定的http头关键字
无返回,其实就是相对于向服务其发送数据,但是没有最后回车

HTTPConnection对象getresponse方法
获取一个http响应对象, 相当于执行最后的2个回车
返回HTTPResponse对象。

HTTPConnection对象close方法
关闭指定的httpconnect连接

HTTPResponse对象read方法
获得http响应的内容部分,即网页源码。
body = res.read([amt])
amt: 读取指定长度的字符,默认为空,即读取所有内容

HTTPResponse对象的其他方法或属性
getheaders()
获得所有的响应头内容,是一个元组列表[(name1, value1), (name2, value2)]
getheader(name[, default])
获得指定的头内容
fileno()
返回socket的fileno

属性:
msg
所有的头信息,和getheaders方法一样,只不过这个是原始未处理的字符串
status
当次请求的状态
version
当次请求的http协议版本,10是http1.0, 11是http/1.1
reason
当次请求的结果的表述内容,200是ok,404是Not Found

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值