[Asm] 纯文本查看 复制代码 #方便给headers加引号
import re
headers_str="""
:authority: ss1.bdstatic.com
:method: GET
:path: /5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/plugins/every_cookie_4644b13.js
scheme: https
accept: */*
accept-encoding: gzip, deflate, br
accept-language: zh-CN,zh;q=0.9
cache-control: no-cache
pragma: no-cache
referer: https://www.baidu.com/
sec-ch-ua: " Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"
sec-ch-ua-mobile: ?0
sec-fetch-dest: script
sec-fetch-mode: no-cors
sec-fetch-site: cross-site
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36
"""
pattern = r"^(.*?):\s?(.*?$)"
#Python splitlines() 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
#keepends -- 在输出结果里是否保留换行符('\r', '\r\n', \n'),默认为 False,不包含换行符,如果为 True,则保留换行符。 str.splitlines([keepends])
for line in headers_str.splitlines():
#有时候网页的header前面有冒号 ,需要处理
if line.startswith(':'):
line.strip()
#删除特定位置的字符串 方法1. pop() 先转化成列表pop 在jion合成字符串
# line = list(line)
# line.pop(0)
# line = ''.join(line)
#方法二
# line = line[1:]
#方法三 remove方法 也是需要列表
# line = list(line)
# line.remove(line[0])
# line = "".join(line)
#方法四 str的replace方法 可选参数 count参数就可以指定要替换几个
# line = line.replace(":","",1) #1代表替换次数
#方法五 用正则替换
line = re.sub(r'^:',"",line)
print(re.sub(pattern, r'"\1": "\2",', line))
else:
print(re.sub(pattern, r'"\1": "\2",', line)) |