将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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Loadrunner教程–常用操做流程

    Loadrunner教程–常用操做流程Loadrunner教程–常用操做流程作者博客:vps精选网1loadrunner压力测试一般使用流程1.1loadrunner压力测试原理本质就是在loadrunner上模拟多个用户同时按固定行为访问web站点。其中固定行为在loadrunner中是通过录制脚本定义的,多个用户同时访问的策略是在loadrunner的场景中定义的。1.2压测思路…

    2022年5月23日
    69
  • String 时间戳 转 Date 时间格式 java[通俗易懂]

    String 时间戳 转 Date 时间格式 java[通俗易懂]今天遇到一个问题是从数据库提取出String类型的时间戳,然后将他转换为Date类型(yyyy-MM-ddHH:mm:ss)再存入数据库那么就总结一下时间类型的转换吧首先这个转换为Stringseconds=toutiaoArticle.get("article_publish_time").toString();Simple…

    2022年6月17日
    63
  • VMM是什么?_兮是什么意思

    VMM是什么?_兮是什么意思虚拟机监视器(VMM)是一个系统软件,可以维护多个高效的、隔离的程序环境,该环境支持用户直接去访问真实硬件,而这样的程序环境就称为虚拟机。虚拟机是一个真实存在的计算机系统的硬软件副本,其中部分虚拟处理器指令子集以本地(native)方式执行在宿主(host)处理机上,其他部分指令以仿真方式执行。从以上定义可以看出,VMM管理计算机系统的真实资源,为虚拟机提供接口。使用VMM有以下优点:a)V…

    2022年4月19日
    90
  • empty和isset的区别

    empty和isset的区别

    2021年10月30日
    44
  • java redis 配置文件_redis配置文件详解(生产环境配置)

    java redis 配置文件_redis配置文件详解(生产环境配置)#当本机为从服务时,设置主服务的连接密码#masterauth#当一个slave失去和master的连接,或者同步正在进行中,slave的行为有两种可能:#1)如果slave-serve-stale-data设置为”yes”(默认值),slave会继续响应客户端请求,可能是正常数据,也可能是还没获得值的空数据。#2)如果slave-serve-stale-data设置为…

    2022年6月11日
    66
  • 如何入门网络安全_网络安全自学

    如何入门网络安全_网络安全自学由于我之前写了不少网络安全技术相关的故事文章,不少读者朋友知道我是从事网络安全相关的工作,于是经常有人在微信里问我:我刚入门网络安全,该怎么学?要学哪些东西?有哪些方向?怎么选?不同于Java、C/C++等后端开发岗位有非常明晰的学习路线,网路安全更多是靠自己摸索,要学的东西又杂又多,难成体系。常读我文章的朋友知道,我的文章基本以故事为载体的技术输出为主,很少去谈到职场、面试这些方面的内容。主要是考虑到现在大家的压力已经很大,节奏很快,公众号上是让大家放松的地方,尽量写一些轻快的内容。不

    2022年10月21日
    1

发表回复

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

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