15972441000 发表于 2021-9-26 15:27:01

requests.post参数带下划线问题

在post的过程中,我发现有些网页post参数需要带下划线,而且下划线会解析为%5F,请问该如何处理post内的data?
如data={"ad":"xa_bx"}
post的时候需要上传ad=xa%5Fbx

请问该怎么解决呢?

大马强 发表于 2021-9-26 15:30:17

啥网站呀
这种参数不是自动转换的吗

qq1151985918 发表于 2021-9-26 15:33:51

本帖最后由 qq1151985918 于 2021-9-26 15:37 编辑

下划线不需要转换吧?
如果是汉字可以用 quote
如果你想要转换可以尝试 replace
>>> s = "xa_bx"
>>> s.replace("_", "%5F")
'xa%5Fbx'
>>>

15972441000 发表于 2021-9-26 15:40:45

如果不转换为%5F上传,将会失败。而且replace过后,上传就会变为%255F

15972441000 发表于 2021-9-26 15:56:25

大马强 发表于 2021-9-26 15:30
啥网站呀
这种参数不是自动转换的吗

下划线是不会自动转换的,因为http协议是支持下划线的

suchocolate 发表于 2021-9-26 16:34:15

要看你是用的库,也要看网站是否能接收。
把你的代码发出来。

kogawananari 发表于 2021-9-26 20:17:47

转不转换主要看请求头

15972441000 发表于 2021-9-26 21:15:55

kogawananari 发表于 2021-9-26 20:17
转不转换主要看请求头

是请求头决定的吗? 我都没注意到。。。。。。。。
谢谢我明天再试试

15972441000 发表于 2021-9-26 21:16:29

kogawananari 发表于 2021-9-26 20:17
转不转换主要看请求头

刚才没有带明天发出来给你看看
反正我觉得情况比较复杂

晴雨皆宜 发表于 2021-9-27 08:25:42

开卷有益,多多益善······
页: [1]
查看完整版本: requests.post参数带下划线问题