Ruquest基础使用
Posted hmeier
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ruquest基础使用相关的知识,希望对你有一定的参考价值。
Ruquest基础使用(一)
简介
Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。
警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症、冗余代码症、重新发明轮子症、啃文档症、抑郁、头疼、甚至死亡。
安装
1、在线联网安装
在CMD中输入执行pipinstall-Urequests联网安装requests
2、离线安装
1)进入https://pypi.org/project/requests/下载并解压requests-***.tar.gz
2)然后用cmd进入解压目录
3)使用命令Pythonsetup.pyinstall安装requests
模拟GET请求
格式:
Import requests
Response=requests.get(‘URL’)
示例:
输出显示内容:
返回内容乱码
由于response.content是二进制模式,可以下载视频之类的,如果想看的话需要decode成utf-8格式。而response.text返回的是Unicode格式,通常需要转换为utf-8 格式,否则就是乱码。
解决方法一:
print(response.content.decode(‘utf-8‘))
解决方法二:
response.encoding = ‘utf-8‘ #设置格式为‘utf-8’格式
print(response.text)
模拟带参数的get请求
格式一:
Import requests
data={‘参数一’:‘值2’,’参数二’:‘值2’}
Response=requests.get(‘URL’,params=data)
格式二:
Import requests
Response=requests.get(‘URL’,参数1=值1,参数2=值2)
示例
自定义请求头
格式一:
Import requests
data={‘参数一’:‘值2’,’参数二’:‘值2’}
Headerifno={‘参数一’:‘值2’,’参数二’:‘值2’}
Response=requests.get(‘URL’,params=data,headers=Headerifno)
示例:
模拟POST请求
post参数处理
post请求的请求参数是通过data方式来传递的。Post的请求参数一般有form表单、json数据、文件等。用requests模块处理方式如下:
【form表单】
使用dict类型传输
dataform ={‘key‘:‘value‘}
postResponse=requests.post(url,data=dataform )
【Json数据】
方式一:
(需要使用json模块)
方式二:
【文件上传】
获取响应内容
获取响应方式
响应包括响应行、响应头、响应正文内容,这些返回的响应信息都可以通过Requests模块获取。这些获取到的响应内容也是接口测试执行得到的实际结果。
响应内容处理
【文本响应内容】
Requests会自动解码来自服务器的内容。大多数unicode字符集都能被无缝地解码。请求发出后,Requests会基于HTTP头部对响应的编码作出有根据的推测。
当你访问r.text之时,Requests会使用其推测的文本编码。r.text使用后乱码的几率很大,可以先用r.encoding属性来改变编码,如下所示:
【二进制响应内容】
对于非文本请求,r.content能以字节的方式访问请求响应体。且Requests模块会自动为你解码gzip和deflate传输编码的响应数据。
使用r.content处理普通的响应返回:
使用r.content下载图片文件:
【JSON响应内容:】
以上是关于Ruquest基础使用的主要内容,如果未能解决你的问题,请参考以下文章
java的action中如何修改ruquest里面所有参数名,然后把修改好的,再放到request中!请教各位大侠了!谢谢