700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python3 requests 不进行编码 直接发送的方法

python3 requests 不进行编码 直接发送的方法

时间:2022-02-12 02:07:51

相关推荐

python3 requests 不进行编码 直接发送的方法

在python中 requests 是常用的一个包,但是用这个包的时候它会默认进行一切http操作的时候进行一次url编码。

例如:我们使用requests进行post操作时post内容中的"!"就会被强行编码为:"%21"。

为了解决这个问题,我们需要先设置一次请求头setHeader("Content-Type", "application/x-www-form-urlencoded")再将数据拼接成string格式再进行发送,办法如下:

import requestsdata = "a=this is a!&b=this is b!"headers = {"Content-Type":"application/x-www-form-urlencoded"}# 设置了请求头的情况:requests.post("http://127.0.0.1:8001/post", headers=headers, data=data)# 未设置请求头的情况:data2 = {"a":"this is a!","b":"this is b!"}requests.post("http://127.0.0.1:8001/post",data=data2)

这样就能直接不经过URL编码发数据了:

# 第一次的post的内容抓包:"a=this is a!&b=this is b!"# 第二次post的内容抓包:"a=this+is+a%21&b=this+is+b%21"

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。