【发布时间】:2019-05-09 18:56:29
【问题描述】:
我使用 python 请求来捕获网站的 http 标头。例如,这是一个响应头:
{'连接':'保持活动', '访问控制允许来源':'*','缓存控制':'max-age = 600', '内容类型': '文本/html; charset=utf-8', 'Expires': '星期五,4 月 19 日 2019 03:16:28 GMT', 'Via': '1.1 varnish, 1.1 varnish', 'X-ESI': 'on', 'Verso':'false','Accept-Ranges':'none','Date':'Fri, 19 Apr 2019 03:11:12 GMT','年龄':'283','Set-Cookie': 'CN_xid=08f66bff-4001-4173-b4e2-71ac31bb58d7;过期=2019 年 10 月 16 日,星期三 格林威治标准时间 03:11:12;路径=/;, xid1=1;过期=格林威治标准时间 2019 年 4 月 19 日星期五 03:11:27; 路径=/;,verso_bucket=281;过期=2020 年 4 月 18 日星期六 03:11:12 GMT; path=/;', 'X-Served-By': 'cache-iad2133-IAD, cache-gru17122-GRU', 'X-Cache':'HIT,MISS','X-Cache-Hits':'1, 0','X-Timer': 'S1555643472.999490,VS0,VE302', '内容安全策略': "default-src https: 数据: 'unsafe-inline' 'unsafe-eval'; child-src https:数据:blob:;连接-src https:数据:blob:;字体源 https: 数据:; img-src https:数据:blob:; media-src https: 数据: blob:; 对象源 https:;脚本-src https:数据:blob:'unsafe-inline' '不安全评估'; style-src https: '不安全的内联'; 阻止所有混合内容;升级不安全请求;报告-uri https://l.com/csp/gq", 'X-Fastly-Device-Detect':'桌面','Strict-Transport-Security': '最大年龄=7776000; preload', 'Vary': 'Accept-Encoding, Verso, 接受编码','内容编码':'gzip','传输编码': '分块'}
我注意到,从我测试的几个示例中,我从requests 收到的标头格式为'key':'value'(请注意键和值周围的单个冒号)。但是,当我从 Firefox-> Web 开发人员 -> Inspector 检查标头并选择以原始格式查看标头时,我看不到逗号:
HTTP/2.0 200 OK 日期:2019 年 5 月 9 日星期四 18:49:07 GMT 到期:-1 缓存控制:私有,最大年龄=0 内容类型:文本/html; charset=UTF-8 严格传输安全:max-age=31536000 内容编码:br 服务器:gws 内容长度:55844 x-xss-protection: 0 x-frame-options: SAMEORIGIN set-cookie: 1P_JAR=2019-05-09-18;过期=星期六,2019 年 6 月 8 日 18:49:07 GMT;路径=/; 域=.google.com alt-svc: quic=":443";马=2592000; v="46,44,43,39" X-Firefox-Spdy:h2
我需要知道:python 的requests 模块是否总是添加单冒号?这对我很重要,因为我需要在用于分析标头的正则表达式中包含/排除它们。
【问题讨论】:
标签: python-3.x http request header python-requests