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() # 获取请求urlprint baidu.getcode() # 获取状态码baidu.close()
urllib进行url编码
import urllib d = { "$count":"count", "$limit":"limit", "$offset":"offset", "$filter":None, } print urllib.urlencode(d)结果:%24offset=offset&%24limit=limit&%24filter=None&%24count=count
详细使用方法见
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‘
详见:
相关推荐
LowisLucifer 2020-04-23
CandyGL 2013-02-17
solarLan 2019-06-21
Onioncy 2019-06-21
AfoolProgramape 2016-10-07
乐想屋 2019-02-28
linbossdeboke 2019-02-27
leoaran 2018-08-30
MacBooKApple 2015-05-09
wangapls 2014-06-29
cbyacq 2018-01-09
hfliu 2018-07-30
DuanKun 2018-07-24
helen0 2018-05-14
lhxxhl 2018-06-05