2024-10-02 08:17:25 发布
网友
很快的问题。使用请求发送PUT时,我将发送以下内容:
payload = {"host": "tst123:3306"} r = requests.put(url, data=payload)
请求似乎正在格式化主机字符串,因此api接收到“tst123%3A3306”
有没有办法防止这种情况
有什么想法吗
C级
你看到的是完美的行为。参数必须根据模式进行编码
http://en.wikipedia.org/wiki/URL-Encoding
这是自web早期以来众所周知的最佳实践
在应用程序方面,您必须自己解码参数。每种编程语言都有相应的模块。在大多数情况下,所有的web框架都应该在引擎盖下进行内部解码
在这种情况下,不是params而是PUT数据。我通过使用
payload = json.dumps({"host": "tst123:3306"}) headers = {'content-type': 'application/json'} r = requests.put(url, data=payload, headers=headers)
我可以理解为什么url参数需要编码,但是为什么PUT数据
你看到的是完美的行为。参数必须根据模式进行编码
这是自web早期以来众所周知的最佳实践
在应用程序方面,您必须自己解码参数。每种编程语言都有相应的模块。在大多数情况下,所有的web框架都应该在引擎盖下进行内部解码
在这种情况下,不是params而是PUT数据。我通过使用
我可以理解为什么url参数需要编码,但是为什么PUT数据
相关问题 更多 >
编程相关推荐