requests模块 编码和wireshark测试

发布时间 2023-06-04 17:39:22作者: 挖洞404

结合wireshark进行测试、分析

1、编码问题

1.1 url路径

url路径中包含敏感字符,不会被url编码的字符包括:

'=;,!*-

会被url编码的字符包括:

"<>\\

非ascii字符会先进行utf-8编码,再进行url编码。比如字符'时'编码为%E6%97%B6

1.2 直接参数

和url具有基本一致的编码和非编码字符,新增不会被url编码的字符包括:

/?

 1.3 头部字段

允许头部字段的键和值包含'"<>等敏感字符,但是不能包含超过128的字符,即只能包含ascii基础字符。否则,会报异常,无法发送

键和值都可以包含空格,但是键无法包含:字符,且键和值都无法包含\n字符,否则会报异常,无法发送

1.4 体部

  • 默认是直接的utf-8编码的字节,没有自动设置content-type字段,也没有进行url编码

2、请求方法拓展

 

3、头部字段拓展

  • 允许设置host、user-agent等初始字段
  • 设置host字段后,是与新的host地址通信,而非与url中地址通信