在使用python向目标站点发送post请求的时候,发现了服务器接收到的数据的签名怎么也对不上,经过排除发现python当中传递的数据没有任何问题。
通过抓包发现,python的requests库进行post请求的时候将dict的载荷进行编码,默认url编码,会将空格编码成+号,如下:
进行抓包,结果如下:
可以看到,请求体中原有的空格编码为了+号,而根据RFC文档的规定,对空格的url编码有不同的方式:
其一,RFC1866指出,使用+号来编码空格,官方链接:RFC 1866: Hypertext Markup Language - 2.0 (rfc-editor.org)
另外,RFC2396指出,使用%HH的