Python中http请求方法库汇总

        最近在使用python做接口测试,发现python中http请求方法有许多种,今天抽点时间把相关内容整理,分享给大家,具体内容如下所示:

一、python自带库----urllib2

python自带库urllib2使用的比较多,简单使用如下:

import urllib2

response = urllib2.urlopen('http://localhost:8080/jenkins/api/json?pretty=true')

print response.read() 

简单的get请求

import urllib2

import urllib

post_data = urllib.urlencode({})

response = urllib2.urlopen('http://localhost:8080/, post_data)

print response.read()

print response.getheaders() 

这就是最简单的urllib2发送post例子。代码比较多

二、python自带库--httplib

httplib是一个相对底层的http请求模块,urlib就是基于httplib封装的。简单使用如下:

1
2
3
4
5
6
7
8
9
10
import  httplib
conn  =  httplib.HTTPConnection( "www.python.org" )
conn.request( "GET" "/index.html" )
r1  =  conn.getresponse()
print  r1.status, r1.reason
data1  =  r1.read()
conn.request( "GET" "/parrot.spam" )
r2  =  conn.getresponse()
data2  =  r2.read()
conn.close()

简单的get请求

我们再来看post请求

1
2
3
4
5
6
7
8
9
import  httplib, urllib
params  =  urllib.urlencode({ '@number' 12524 '@type' 'issue' '@action' 'show' })
headers  =  { "Content-type" "application/x-www-form-urlencoded" "Accept" "text/plain" }
conn  =  httplib.HTTPConnection( "bugs.python.org" )
conn.request( "POST" , "", params, headers)
response  =  conn.getresponse()
data  =  response.read()
print  data
conn.close()

 

是不是觉得太复杂了。每次写还得再翻文档,看看第三种吧

三、第三方库--requests

发请get请求超级简单:

1
print requests.get('http: //localhost :8080).text

就一句话,再来看看post请求

1
2
3
payload  =  { 'key1' 'value1' 'key2' 'value2' }
=  requests.post( "http://httpbin.org/post" , data = payload)
print  r.text

也很简单。

再看看如果要认证:

1
2
3
4
5
url  =  'http://localhost:8080'
=  requests.post(url, data = {}, auth = HTTPBasicAuth( 'admin' 'admin' ))
print  r.status_code
print  r.headers
print  r.reason

是不是比urllib2更简单多了吧,且requests自带json解析。这点非常棒

python中的http请求 

1
2
3
4
5
import  urllib
params  =  urllib.urlencode({key:value,key:value})
resultHtml  =  urllib.urlopen( '[API or 网址]' ,params)
result  =  resultHtml.read()
print  result
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值