python http请求方法整理

在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

时间: 2024-10-16 01:23:10

python http请求方法整理的相关文章

ruby中http请求方法整理

#POST请求 请求包是json包 返回body并转换成json对象def post_json *args uri = URI.parse args[0] req = Net::HTTP::Post.new(uri.request_uri) req.body = args[1] res = Net::HTTP.start(uri.hostname, uri.port) do |http| http.request(req) end return JSON.parse(res.body)end #

python中http请求方法有哪些

在python开发(http://www.maiziedu.com/course/python-px/)中,我们一般通过get.post方式发送http请求,可是最近在使用python做接口测试,发现python中http请求方法有许多种,作者整理了一番,把python中http请求方法都总结了出来,分享给大家,具体内容如下所示:一.python自带库----urllib2python自带库urllib2使用的比较多,简单使用如下:import urllib2response = urllib2

基于hi-nginx的web开发(python篇)——动态路由和请求方法

hi.py的提供的路由装饰器接受两个参数,第一个参数指定动态路由的正则模式,第二个参数指定同意的http请求方法列表. 比如: 1 @app.route(r"^/client/?$",['GET','POST']) 2 def client(req,res,param): 3 res.content('{}<br>{}<br>{}<br>{}<br>{}'.format(req.client(),req.method(),req.uri(

php中Http请求方法和响应状态码整理教程

HTTP请求报文由请求行(request line).请求头部(header).空行和请求数据4个部分组成,格式如下 可见请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分 个HTTP请求报文由请求行(request line).请求头部(header).空行和请求数据4个部分组成,格式如下 可见请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.HTTP请求方法: GET: 请求指定的页面信息,并返回实体主体. HEAD: 只请求页

Python基础班每日整理(六)

03_面向对象_day03 类属性和实例属性的概念.类属性是给类对象(类是一个特殊的对象)中定义的属性,通常用来记录与这个类相关的特征,类属性不会用于记录具体对象的特征.类属性的定义是在初始化方法之外的实例对象的属性叫做实例属性,在初始化方法内部定义 类属性和实例属性的访问类属性的访问是类名.类属性实例属性的访问是实例对象.属性名,也可以在类内部使用self.属性名访问 类方法的定义和使用br/>@classmethoddef 类方法名(cls):pass需要修饰器@classmethod来标识

python 库安装方法及常用库

python库安装方法: 方法一:setpu.py 1.下载库压缩包,解压,记录下路径:*:/**/--/ 2.运行cmd,切换到*:/**/--/目录下 3.运行setup.py build 4.然后输入python,进入python模块,验证是否安装成功 方法二: 1.Win + R 打开运行窗口,输入cmd回车 2.找到pip安装路径--x:\Python xx\Scripts 3. 在命令行中切换至该目录cd x:\Python xx\Scripts 4.输入 pip install *

Python网络请求urllib和urllib3详解

Python网络请求urllib和urllib3详解 urllib是Python中请求url连接的官方标准库,在Python2中主要为urllib和urllib2,在Python3中整合成了urllib. 而urllib3则是增加了连接池等功能,两者互相都有补充的部分. urllib urllib作为Python的标准库,基本上涵盖了基础的网络请求功能. urllib.request urllib中,request这个模块主要负责构造和发起网络请求,并在其中加入Headers.Proxy等. 发

Python内建方法

参考: https://docs.python.org/3.4/library/functions.html https://docs.python.org/2/library/functions.html http://blog.csdn.net/jgood/article/details/4371991 以上链接分别为Python官网的3.4版本的内建方法说明.2.X(指2.6和2.7)版本的内建方法说明.以及JGood对2.X版本的内建方法说明的翻译. abs(x) 返回一个数的绝对值.参

HTTP请求响应报文&amp;&amp;相关状态码&amp;&amp;GET_POST请求方法 总结

HTTP请求报文: 一个HTTP请求报文由四个部分组成:请求行.请求头部.空行.请求数据 1.请求行   请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.比如 GET /data/info.html HTTP/1.1 方法字段就是HTTP使用的请求方法,比如常见的GET/POST 其中HTTP协议版本有两种:HTTP1.0/HTTP1.1 可以这样区别: HTTP1.0对于每个连接都的建立一次连接一次只能传送一个请求和响应,请求就会关闭,HTTP1.0没有Ho