2招带你快速获取响应头与发送头

今天带大家用两招快速获取响应头以及发送头。

1、获取请求头

想要获取请求头,就需要会用抓包工具,目前比较普遍的就是fiddler。大家可以在百度搜索下载。首先我们打开fiddler

 

你会发现左侧这里不停地增加,这里看到的就是我们电脑发送的请求

 

 

点击这里选择Remove all即可清空所有请求。现在我们以博客园登录为例,先看响应头,再看请求头:

进入博客园,点击右上角的登录按钮(注意,此时你已经打开fiddler)进行登录操作,现在博客园要拼接一个图片才能登陆,那我们在拼图片以前清空一下fiddler发送列表,然后再去拼接图片完成登陆操作,登陆以后可以看到:

 

 

我们看到fiddler里面有了这个登陆接口,得到接口的地址了,继续在fiddler里看这个接口,右侧分别选择Inspectors和下面一行的Raw:

 


选完以后,我们看到的像User-Agent,Accept、Accept-Encoding、Cookie等,这些就是我们要找的请求头啦~~

2、响应头

我们写一个脚本,还是博客园登陆接口:

#coding: utf-8

import requests

def post_info():

    url = "https://passport.cnblogs.com/user/signin"
    headers = {
        "User-Agent": 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
        'Accept': 'application/json, text/javascript, */*; q=0.01',
        'Accept-Encoding': 'gzip, deflate, sdch',
        'Accept-Language': 'zh-CN,zh;q=0.8',
        'Content-Type': 'application/json; charset=UTF-8',
        'Content-Length': '385',
        'X-Requested-With': 'XMLHttpRequest',
        'Cookie': 'AspxAutoDete5002db93f6|1509713553|1509713284',
        'Connection': 'keep-alive'}

    payload = {
        #这是我的用户名和密码(已改成错误的)
        "input1": 'Cvlwp32tCIKCcvEz653QkK2+23JNkTjpeKveMU/k=',
        'input2': 'QIkqWfSBWp0UafzxeiaxLE0MwW8cOM64I9JTUjP9/I+5yxAg=',
        'remember': True}

    r = requests.post(url, json=payload, headers=headers, verify=False)
    return r.headersprint post_info()

上面代码的Cookie就是复制的fiddler里面的那一串超长的字符串,input1和input2也是复制的fiddler里面的,然后运行代码。这个代码没有登录成功,是的,没有登录成功,如果你想知道有没有成功你可以把倒数第二行的return r.headers换成 r.json(),就可以看到了。虽然没有登录成功,但是我们可以根据接口的返回获得响应头,没错,我们这个代码最后的r.headers获取的就是响应头,看一下:

{'Set-Cookie': 'SERVERID=227b0876674;Path=/', 'X-AspNet-Version': '4.0.30319', 'Transfer-Encoding': 'chunked', 'X-AspNetMvc-Version': '5.2', 'X-Powered-By': 'ASP.NET', 'Connection': 'keep-alive', 'X-UA-Compatible': 'IE=10', 'Cache-Control': 'private', 'Date': 'Fri, 03 Nov 2017 13:03:53 GMT', 'Content-Type': 'application/json; charset=utf-8'}

如果对软件测试、接口测试、自动化测试、面试经验交流。感兴趣可以加软件测试交流:1085991341,还会有同行一起技术交流。
提示:上面代码可以向右拉

r.headers,就是获取响应头的方法了。

此外再和大家说一下常用的方法:

注意,这里的 r 指的是post或者get方法的返回值

 

在pycharm中只要一打r,会自动弹出可以用的方法,上面图片有对应方法的简单说明,大家可以参考。
以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。

posted on 2020-05-27 21:47  茶浅教你Python  阅读(594)  评论(0编辑  收藏  举报