在python开发(http://www.maiziedu.com/course/python-px/)中,我们一般通过get、post方式发送http请求,可是最近在使用python做接口测试,发现python中http请求方法有许多种,作者整理了一番,把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封装的。简单使用如下:
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请求
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请求超级简单:
print requests.get(‘http://localhost:8080).text
就一句话,再来看看post请求
payload = {‘key1‘: ‘value1‘, ‘key2‘: ‘value2‘}
r = requests.post("http://httpbin.org/post", data=payload)
print r.text
也很简单。
再看看如果要认证:
url = ‘http://localhost:8080‘
r = requests.post(url, data={}, auth=HTTPBasicAuth(‘admin‘, ‘admin‘))
print r.status_code
print r.headers
print r.reason
是不是比urllib2更简单多了吧,且requests自带json解析。这点非常棒
python中的http请求
import urllib
params = urllib.urlencode({key:value,key:value})
resultHtml = urllib.urlopen(‘[API or 网址]‘,params)
result = resultHtml.read()
print result
python中http请求方法有哪些
时间: 2024-10-13 12:18:33
python中http请求方法有哪些的相关文章
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 u
Python中的sort()方法的使用
本文和大家分享的主要是python中的sort()方法相关知识,一起来看看吧,希望对大家学习python有所帮助. 一.基本形式 sorted(iterable[, cmp[, key[, reverse]]]) iterable.sort(cmp[, key[, reverse]]) 参数解释: (1)iterable指定要排序的list或者iterable,不用多说: (2)cmp为函数,指定排序时进行比较的函数,可以指定一个函数或者lambda函数,如: students为类对象的list
Python中的__new__()方法与实例化
@Python中的__new__()方法与实例化 __new__()是在新式类中新出现的方法,它作用在构造方法建造实例之前,可以这么理解,在Python 中 存在于类里面的构造方法__init__()负责将类的实例化,而在__init__()启动之前,__new__()决定是否 要使用该__init__()方法,因为__new__()可以调用其他类的构造方法或者直接返回别的对象来作为本类 的实例. 如果将类比喻为工厂,那么__init__()方法则是该工厂的生产工人,__init__()方法接受
关于python中的特殊方法
研究了几个小时,大概对python中的特殊方法一知半解,现在写写自己的理解,以及记录一些找到的资源.待自己有比较深入理解的时候,再来更新 https://docs.python.org/3/reference/datamodel.html#special-method-names 有一篇文章是要必须推荐给读者阅读的:Python Attributes and Methods(http://www.cafepy.com/article/python_attributes_and_methods/p
tomcat实现http协议中的请求方法
Tomcat是实现了http协议的web服务器. HttpServlet是整个J2EE体系的核心类.来自客户端的全部请求均有该类进行处理和转发.它由Tomcat根据web.xml中的servlet配置标记进行装载和管理. 以下是servlet继承结构. javax.servlet.httpClass HttpServlet java.lang.Object javax.servlet.GenericServlet javax.servlet.http.HttpServlet Al
Python中格式化format()方法详解
Python中格式化format()方法详解 Python中格式化输出字符串使用format()函数, 字符串即类, 可以使用方法; Python是完全面向对象的语言, 任何东西都是对象; 字符串的参数使用{NUM}进行表示,0, 表示第一个参数,1, 表示第二个参数, 以后顺次递加; 使用":", 指定代表元素需要的操作, 如":.3"小数点三位, ":8"占8个字符空间等; 还可以添加特定的字母, 如: 'b' - 二进制. 将数字以2为基数
Python中字典get方法的使用
Python中字典get方法的使用 说起来,这个功能是否需要学习还真是有待于讨论.其实,知道了字典这种数据结构以后,通过最基本的Python功能也能够实现一个类似的功能.不过,既然内置了这个功能那么我们就没有必要重复造车轮. 在字典内置的方法中,想说的方法为get.这个方法是通过键来获取相应的值,但是如果相应的键不存在则返回None.其实,None只是一个默认的返回值但是并不是一个不能修改的返回值.其实,如果查询失败,我们可以指定一个返回值. 上面提到的所有功能汇总在一个示范代码,具体如下: #
Python中的__new__()方法的使用
__new__() 函数只能用于从object继承的新式类. 先看下object类中对__new__()方法的定义: class object: @staticmethod # known case of __new__ def __new__(cls, *more): # known special case of object.__new__ """ T.__new__(S, ...) -> a new object with type S, a s
python中去重的方法
在python中,有两种方法进行去重: 1)对于list数据,去重方式如下: a)原列表list_origin的内容如下: list_origin = ["aaa", "ccc", "bbb", "aaa", "ddd", "bbb"] b)进行去重,获得新的列表new_list: new_list = list(set(list_origin)) 这里的new_list=['aaa',