前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Requests库(六)接口返回响应头和请求Cookies

Requests库(六)接口返回响应头和请求Cookies

作者头像
雷子
发布2021-03-15 12:45:49
1.5K0
发布2021-03-15 12:45:49
举报
文章被收录于专栏:雷子说测试开发

我们今天来看下接口的返回头。

前面我们在请求的时,对于接口的请求头做过处理,那么我们这次对接口的返回头进行简单的处理,为什么要做处理呢,主要是因为:

1.获取接口的cookie

2.获取接口响应数据的格式。

我们看下应该去如何正确的获取返回头,

代码语言:javascript
复制
import requests,jsonheaders={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.193 Safari/537.36','Content-Type':'application/json'}data={    "msgtype": "text",    "text": {        "content": "我就是我, 是不一样的烟火"    }}r=requests.post("https://oapi.dingtalk.com/robot/send?access_token=您的钉钉的token",headers=headers,data=json.dumps(data))print(r.headers)

其实很简单,我们请求后,直接打印对应的headers即可。

代码语言:javascript
复制
{'Server': 'DingTalk/1.0.0', 'Date': 'Mon, 23 Nov 2020 23:19:11 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Cache-Control': 'no-cache', 'Content-Encoding': 'gzip'}

那么我们应该如何获取到对应的值呢,比如我们要获取Content-Type,应该怎么获取呢。其实很简单。

代码语言:javascript
复制
print(r.headers['Content-Type'])

返回的就是key-value的格式,我们直接用python的字典取值即可。我们可以根据返回的Content-Type的类型的不同,调用不同的方式去处理接口的返回值。

cookies

我们都知道接口请求有的时候是需要增加cookies获取获取接口返回的cookies的,我们如何获取接口返回的cookies? 其实requests已经为我们准备好了,获取的方式了,我们可以看下如何获取的?

代码语言:javascript
复制
import requests,jsonheaders={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.193 Safari/537.36','Content-Type':'application/json'}data={    "msgtype": "text",    "text": {        "content": "我就是我, 是不一样的烟火"    }}r=requests.post("https://oapi.dingtalk.com/robot/send?access_token=钉钉机器人的token",headers=headers,data=json.dumps(data))print(r.cookies)

和headers一样。他也是key-values的格式。直接就可以字典取值即可。如果我们需要后续接口使用,可以存储给一个变量,或者存储到文件,存储到redis中都可以,只是存储的方式不一样。最终都是为了后续的使用。

我们的接口请求的时候,应该如何增加cookies?

代码语言:javascript
复制
import requests,jsonheaders={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.193 Safari/537.36','Content-Type':'application/json'}cookie=dict(cookies_are='working')print(cookie)data={    "msgtype": "text",    "text": {        "content": "我就是我, 是不一样的烟火"    }}r=requests.post("https://oapi.dingtalk.com/robot/send?access_token=您的钉钉机器人d的token",headers=headers,data=json.dumps(data),cookies=cookie)print(r.json())

请求增加也是很简单的,组织一个key-value的形式也就是字典格式的cookies,然后传递给cookies即可。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 雷子说测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档