zoukankan      html  css  js  c++  java
  • 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,会自动弹出可以用的方法,上面图片有对应方法的简单说明,大家可以参考。
    以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。

  • 相关阅读:
    ACM学习历程—HDU5410 CRB and His Birthday(动态规划)
    ACM学习历程—HDU1028 Ignatius and the Princess III(递推 || 母函数)
    ACM学习历程—HDU5396 Expression(递推 && 计数)
    ACM学习历程—HDU 5317 RGCDQ (数论)
    ACM学习历程—HDU 5326 Work(树形递推)
    ACM学习历程—SNNUOJ 1110 传输网络((并查集 && 离线) || (线段树 && 时间戳))(2015陕西省大学生程序设计竞赛D题)
    jquery开发js插件
    requireJS
    java进阶之-Maven,svn,git,maven合拼多个项目
    java 项目中每个jar包的作用总结
  • 原文地址:https://www.cnblogs.com/Chaqian/p/12976835.html
Copyright © 2011-2022 走看看