request.post 会对 application/x-www-form-urlencoded 数据进行双重编码
作者: potatosips创建于 2026年7月20日更新于 2026年7月20日
你检查过我们的读物吗?
[x] 我检查了阅读器
你跟踪过我们的麻烦解决吗?
- 我跟着你的麻烦解决
你的问题有问题吗?
- 我检查了老问题,开放和关闭
你检查过讨论吗?
- 我读过讨论
你检查过这些吗?
对
环境
减记
- FlareSolverr版本:主机在0f05ed8fc974b215c36892b5a30122e27fe3c671
- 最后一个工作 FlareSolverr 版本:未知
- 操作系统:Windows 11(单位级复制机)
- 你用Docker:没有
- FlareSolverr 用户代理(见日志跟踪或/结束点):不适用
- 你用VPN:没有
- 你在用代理服务器吗?
- 测试这个问题的URL:任何期待应用程序/x-www-form-urlencode的终点
说明
□ 说明
`request.postData'作为`application/x-www-form-urlencode',但`post-request'将每个字段解码,然后以百分比编码,然后将其以临时的HTML形式放入。 浏览器再次形成编码器,将%s符号编码.
例如,一项请求有:
后数据 : “ space=hello+ world&encoded = 1% 26 2&dempty=”
应提交`你好世界'、`一和二'等值和一个空值。 相反,生成的表单包含“hello%2Bworld”和“1%262”等已编码的文字,在提交时再次编码。
`request.post' 也不验证`url'在进入浏览器-request流量之前是否存在,与`request.get'不同。
□ 预期行为
分析`postData'一次使用标准形式语义(包括将``+`'作为一个空间),只构建临时形式时使用HTML-escape,并在启动浏览器前拒绝缺失的`url'。
□ 建议的固定
使用`urlib.parse.parse qsl (., 保留 blank values=True)', %-编码完整数据URI而不是单个字段值,并添加缺失的`url'验证。 重点回归测试覆盖了外加标志, %-encoded ampers, 空白值,以及缺失的URL验证.
QQ 日志错误消息
页:1
不需要服务器出错;有效载荷腐败具有确定性,由一个集中的单位级复制器覆盖.QQ 屏幕截图
无回复( N)
内容来源: FlareSolverr/FlareSolverr