将headers请求头字符串转为字典

将headers请求头字符串转为字典

第一种方法

在这里插入图片描述

如上图所示,然后复制粘贴到pycharm里,存放到字典里

在这里插入图片描述

然后使用ctrl+r快捷键打开替换功能,并勾选Regex

替换源为:(.?): (.?)$

替换为:”$1″: “$2”,

在这里插入图片描述

然后点击Replace all替换全部:

在这里插入图片描述

最后再ctrl+alt+L键,整理一下格式就行了
在这里插入图片描述

第二种方法

原生请求头字符串

raw_headers = """Host: open.tool.hexun.com
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36
Accept: */*
Referer: http://stock.hexun.com/gsxw/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8"""

将字符串转为字典

split(sep=None, maxsplit=None)

headers = dict([line.split(": ",1) for line in raw_headers.split("\n")])

输出测试

print(headers)
"""
{
    'Accept-Language': ' zh-CN,zh;q=0.9,en;q=0.8', 
    'Accept-Encoding': ' gzip, deflate', 
    'Accept': ' */*', 
    'User-Agent': ' Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36', 
    'Host': ' open.tool.hexun.com', 
    'Referer': ' http://stock.hexun.com/gsxw/', 
    'Pragma': ' no-cache', 
    'Cache-Control': ' no-cache'
}

"""

封装为函数

def get_headers(header_raw):
    """
    通过原生请求头获取请求头字典
    :param header_raw: {str} 浏览器请求头
    :return: {dict} headers
    """
   return dict(line.split(": ", 1) for line in header_raw.split("\n") if line != '')


def get_cookies(cookie_raw):
    """
    通过原生cookie获取cookie字段
    :param cookie_raw: {str} 浏览器原始cookie
    :return: {dict} cookies
    """
    return dict(line.split("=", 1) for line in cookie_raw.split("; "))

说明:浏览器Header和cookie字符串形式转Json

不会或者没有这个集成软件的,就对着改用word。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114768.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA中的数组插入与删除指定元素

    JAVA中的数组插入与删除指定元素今天学了Java的数组,写了数组的插入和删除,本人小白,写给不会的小白看,大神请忽略,有错请大家指出来;/**给数组指定位置数组的插入*/importjava.util.*;publicclassArrayInsert{publicstaticvoidmain(String[]args){System.out.println(“请用键

    2022年6月26日
    61
  • 属于iscsi使用的命令_tempadm

    属于iscsi使用的命令_tempadm[root@xifenfei~]#fdisk-lDisk/dev/sda:21.4GB,21474836480bytes255heads,63sectors/track,2610cylindersUnits=cylindersof16065*512=8225280bytesDeviceBootStartEndB…

    2022年8月23日
    9
  • 项目分工_创新项目分工怎么写

    项目分工_创新项目分工怎么写我们小组计划开发一个移动App,设计的项目名称初定为“宝特瓶”。这个项目的实际功能是:将自己不能言语出的情感放入瓶中,好像埋在树下的“记忆”那般,将自己最珍贵、最重要、或者是最后悔羞愧的……都放在其中

    2022年8月3日
    8
  • C++简单有趣的恶搞问答关机程序

    C++简单有趣的恶搞问答关机程序点进来的朋友首先反思一下自己:为什么进了CSDN这样一个学习的社区却还要来看我这种无聊的额恶搞程序呢?哈哈!我来替你们回答吧——因为无聊呗!没错,我也是无聊,五一假期显得无聊,看到高中班群实在安静决定写个小程序恶搞一下班级同学。闲话不多说,先来看一下效果吧!当你的同学收到.exe的可执行文件之后双击,首先他看到的是这样的界面:好吧,看到题目一句一句的跳出,如果你是我同学,估计你也应该开始…

    2022年7月22日
    23
  • 解决Zookeeper无法启动

    解决Zookeeper无法启动通过命令:zkServer.shstart启动Zookeeper后,jps查看进程发现全部启动正确,但是在通过zkServer.shstatus查看启动状态,却出现如下现象:通过上述问题可以考虑到的点是配置的三台节点另外两台没有启动。但是可以确定的是另外两台节点也都启动了Zookeeper。解决方案:1.首先查看防火墙是否关闭。如果防火墙开启会影响三点节点的通信,导致接收不到另外两台节点信息。我是上午关闭了虚拟机,下午再打开时没有将防火墙关闭,查看防火墙果然处于活跃状态!赶紧将防火

    2022年9月25日
    4
  • UDP攻击是什么呢

    UDP攻击是什么呢用户数据报协议(UDP)是一个无连接协议。当数据包经由UDP协议发送时,发送双方无需通过三次握手建立连接,接收方必须接收处理该资料包。因此大量的发往受害主机UDP报文能使网络饱和。在一起UDP洪流攻击中,UDP报文发往受害系统的随机或指定端口。通常,UDP洪流攻击设定成指向目标的随机端口。这使得受害系统必须对流入数据进行分析以确定哪个应用服务请求了数据。如果受害系统在某个被攻击埠没有运行服务,它将用ICMP报文响应一个“目标端口不可达”消息。通常,攻击中的DDOS工具会伪造攻击包的源IP地址。这有助于隐藏

    2022年10月2日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号