[转]python内建模块发起HTTP(S)请求

一、Python2
httplib
简介:httplib实现了HTTP和HTTPS的客户端协议,一般不直接使用,在python更高层的封装模块中(urllib,urllib2)使用了它的http实现。

httplib实现http请求

import httplib

host = ‘www.baidu.com’ # 注意:不能带上协议

port = 80

获取HTTPConnection对象

conn = httplib.HTTPConnection(host, port)

发起请求

conn.request(“GET”, “/”)

获取返回值

res = conn.getresponse()

print res.status # 状态码

print res.read() # 返回结果

复制代码

urllib、urllib2
简介:urllib 和urllib2都是接受URL请求的相关模块,但是urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL。

urllib发起请求

import urllib
baidu = urllib.urlopen(‘http://www.baidu.com’)
print baidu.read() # 读取返回结果
print baidu.geturl() # 获取请求url
print baidu.getcode() # 获取状态码
baidu.close()

urllib进行url编码

复制代码
import urllib
d = {
c o u n t " : " c o u n t " , " count":"count", " count":"count","limit”:“limit”,
o f f s e t " : " o f f s e t " , " offset":"offset", " offset":"offset","filter”:None,
}
print urllib.urlencode(d)

结果:%24offset=offset&%24limit=limit&%24filter=None&%24count=count
复制代码

详细使用方法见

urllib学习

urllib2

复制代码
import json
import urllib
import urllib2
#get response
data = json.dumps(body)
conn = urllib2.Request(url, data, header)
res = urllib2.urlopen(conn)
print res
print res.read()
复制代码

二、python3
urllib
简介:Python3中也有urllib和urllib3两个库,其中urllib几乎是Python2中urllib和urllib2两个模块的集合,所以我们最常用的urllib模块,而urllib3则作为一个拓展模块使用。

urllib发起请求

import urllib
from urllib import request
res = request.urlopen(“http://www.baidu.com”)
print(res.read())

urllib进行url编码

import urllib
from urllib import parse
d = {“a”:“1”,“b”:“2”}
parse.urlencode(d)

结果:‘a=1&b=2’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值