我们今天来看下接口的返回头。
前面我们在请求的时,对于接口的请求头做过处理,那么我们这次对接口的返回头进行简单的处理,为什么要做处理呢,主要是因为:
1.获取接口的cookie
2.获取接口响应数据的格式。
我们看下应该去如何正确的获取返回头,
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即可。
{'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,应该怎么获取呢。其实很简单。
print(r.headers['Content-Type'])
返回的就是key-value的格式,我们直接用python的字典取值即可。我们可以根据返回的Content-Type的类型的不同,调用不同的方式去处理接口的返回值。
cookies
我们都知道接口请求有的时候是需要增加cookies获取获取接口返回的cookies的,我们如何获取接口返回的cookies? 其实requests已经为我们准备好了,获取的方式了,我们可以看下如何获取的?
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?
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即可。