python的requests模块

使用python进行接口测试得时候可以使用requests模块,是基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库

安装requests是模块

pip install requests

requests模块的使用

requests支持http的请求类型,如get,post,delete,put,head等

如:

r=requests.get("www.baidu.com")

r=requests.post("www.baidu.com")

传递参数

将参数定义为字典类型进行传递给params或者data

如,

para={"kw":"python"}

r=reuqests.get{"www.baidu.com",params=para}

字典中值为none的键值对不对传递过去,字典的值也可以为列表

响应结果

使用r.text获取到响应结果

json响应结果

使用r.json获取到json响应结果

二进制响应结果

使用r.content获取

定制head头

将定制的head定义为字典类型传递给headers即可

head={"content-type":"application/json"}

r.requests.get{‘www.baidu.com‘,params=para,headers=head}

post一个多部分编码的文件(Multipart-Encoded)

url = ‘http://httpbin.org/post‘
files = {‘file‘: open(‘report.xls‘, ‘rb‘)}

r = requests.post(url, files=files)

如果你发送一个非常大的文件作为 multipart/form-data 请求,你可能希望流请求(?)。默认下 requests 不支持, 但有个第三方包支持 - requests-toolbelt.

安装

pip install requests-toolbelt

应用

from requests_toolbelt import MultipartEncoder
import requests

m = MultipartEncoder(
    fields={‘field0‘: ‘value‘, ‘field1‘: ‘value‘,
            ‘field2‘: (‘filename‘, open(‘file.py‘, ‘rb‘), ‘text/plain‘)}
    )

r = requests.post(‘http://httpbin.org/post‘, data=m,
                  headers={‘Content-Type‘: m.content_type})

响应吗

r.status_code

响应头

r.headers

时间: 2024-08-15 23:35:18

python的requests模块的相关文章

python之requests模块-cookie

cookie并不陌生,与session一样,能够让http请求前后保持状态.与session不同之处,在于cookie数据仅保存于客户端.requests也提供了相应到方法去处理cookie. 在python之requests模块-session中,我们知道了requests中的session对象能够在请求之间保持cookie,它极大地方便了我们去使用cookie.当我们想设置方法级别中的请求时,可以如下面示例一样操作. import requests s = requests.session(

python之requests模块-hook

requests提供了hook机制,让我们能够在请求得到响应之后去做一些自定义的操作,比如打印某些信息.修改响应内容等.具体用法见下面的例子: import requests # 钩子函数1 def print_url(r, *args, **kwargs): print("raw_url "+r.url) # 钩子函数2 def change_url(r, *args, **kwargs): r.url = 'http://change.url' print("change

python之requests模块

Python标准库中提供了:urllib等模块以供Http请求,但是,它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务. 发送GET请求 import urllib.request f = urllib.request.urlopen('http://www.webxml.com.cn//webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=424662508')

python使用requests模块完成get/post/代理/自定义header/自定义cookies

一.背景说明 由于python3的urllib与python2有不少差别,而且urllib.request请求的一些写法不太符合人的思维习惯(文档也相当难看) 所以搞得真不太想用python,直到看urllib.request文档时注意到下边这句话 比较起来requests确实比较好用,文档也当清晰:需要自己额外安装一下,但仍比较推荐使用. 1.1 适用版本 适用于python2.6.python2.7.python3.4及以上版本,参见官方说明. 我这里使用的是当前最新的python3.7.

python (requests模块使用)

requests模块是python的一个第三方模块,它是基于python自带的urllib模块封装的,用来发送http请求和获取返回的结果,操作很简单.需要自己安装  pip install requests import requests req = requests.get('http://www.baidu.cn',data={'username':'xxx'},cookies={'k':'v'}, headers={'User-Agent':'Chrome'},verify=False,

基于python第三方requests 模块的HTTP请求类

使用requests模块构造的下载器,首先安装第三方库requests pip install requests 1 class StrongDownload(object): 2 3 def __init__(self): 4 #拿到代理iplist 5 self.iplist = ['自己想办法搞'] # 6 self.UserAgent = ['自己想办法搞'] 7 8 def get(self,url,timeout,proxy=False,num_retries=3): 9 '''ur

python之requests模块学习(一)

安装好requests后调用出现: 是因为当前路径存在了和模块一样的名称: http://stackoverflow.com/questions/12258816/module-object-has-no-attribute-get-python-error-requests 如如果出现重命名不了该文件: 是因为py文件里面存在requests必须要全部删除后才能重命名,包括注释里面也不能有"""@version:2.7.10@author:chenmingli# @file

【python】requests模块初探(一)

一.写在前面 Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求.Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner. 那么,requests都有哪些应用场景呢? 1.服务器编程基础: 2.爬虫利器: 3.自动化接口测试: 4.运维监控脚本 等等 本篇,我就记录一下reques

python之requests模块中的params和data的区别

params的时候之间接把参数加到url后面,只在get请求时使用: 1 import requests 2 url='https://api.ireaderm.net/account/charge/info/android' 3 data={'recharge':36,'fee_id':'ireader_nonrenew_vip'} 4 header={ 5 'X-ZY-Timestamp':'1502097587609', 6 'X-ZY-Sign':'xxxxxxxxxxxxxxxxxxx