|
1、模拟get请求
importrequestsresponse=requests.get("url主机字符串")
可以使用print(response.content.decode('utf-8')),response.content是二进制模式,可以下载视频之类的,如果想看的话需要decode成utf-8格式。而response.text返回的是Unicode格式,通常需要转换为utf-8格式,否则就是乱码。如果想用text方法并解决乱码问题,可以通过如下代码实现:response.encoding='utf-8'print(response.text)
2、模拟带参数的get请求
importrequests#写法一:response=requests.get("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET")print(response.content.decode('utf-8'))
写法二:data={'grant_type':'client_credential','appid':'APPID','secret':'APPSECRET'}response=requests.get("https://api.weixin.qq.com/cgi-bin/token",params=data)print(response.content.decode('utf-8'))
上面引用微信公众平台的接口为例,其中APPID和APPSECRET值获取方式是:
(1)、进入微信公众平台开发者文档:https://developers.weixin.qq.com ... arted/Overview.html
(2)、进入开始开发--接口测试号申请菜单,通过微信扫一扫生成测试号3、扫码后,生成appID和appsecret
模拟post请求
接口信息如下:
接口功能:新建用户标签请求方式:
POST接口地址:https://api.weixin.qq.com/cgi-bi ... _token=ACCESS_TOKEN上传数据格式:json数据{"tag":{"name":"广东"}}importrequestsimportjsonurl=“https://api.weixin.qq.com/cgi-bin/tags/create”data={'access_token':'token值'}//token值为之前获取access_token的值info={'tag':{'name':'广东'}}headers={'Content-Type':'application/json'}//发送json数据必带的头部信息response=requests.post(url,params=data,data=json.dumps(info),headers=headers)print(response.content.decode('utf-8'))备注:json.dumps()用于将dict类型的数据转成json格式编码的字符串
响应包括响应行、响应头、响应正文内容,这些返回的响应信息都可以通过Requests模块获取。
这些获取到的响应内容也是接口测试执行得到的实际结果。
获取响应行:r=requests.get(‘https://www.baidu.com’)
print(r.status_code)#响应状态码
print(r.reason)#响应信息
print(r.headers)获取响应头返回的是dict类型,可以继续使用get获取指定的值
获取其它响应信息:
print(r.url)#获取请求地址
print(r.cookies)#获取cookies
print(r.encoding)#获取响应的编码格式
python中,键值对的json数据等同于字典,数据类型的json数据等同于列表
唯一的区别:json数据要使用双引号
import json
import jsonpath
str_01='{"name":"小明","age":20}' #字符串
json_01=json.loads(str_01) #把一个json字符串转化成json对象
print(type(str_01))
print(json_01)
import requests
response=requests.get(url="https://www.baidu.com/")
print(response.content.decode('utf-8')) #二进制方式返回,decode()解码方法
response=requests.get(url="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fblog%2F202107%2F18%2F20210718231716_9fd01.thumb.1000_0.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1658366903&t=5a68ab081a96edb916515c751989a5ff")
imgs=Image.open(BytesIO(response.content)) #返回二进制的图片对象
imgs.save('test.png')
import requests
response=requests.get(url='https://www.baidu.com/')
print(response.headers)#指定响应信息
print(response.encoding) #python以encoding中的值作为响应正文的解码标准
response.encoding='utf-8'
response.encoding=response.apparent_encoding
print(response.apparent_encoding)
print(response.text)
|
|