[英]Unwanted string formatting
很快的問題。 當使用請求發送PUT時,我發送以下信息:
payload = {"host": "tst123:3306"}
r = requests.put(url, data=payload)
請求似乎是格式化主機字符串,因此api正在接收'tst123%3A3306'
有辦法防止這種情況嗎?
任何想法都非常感激
C
你看到的是一種完美的行為。 必須根據模式對參數進行編碼
http://en.wikipedia.org/wiki/URL-Encoding
這是自網絡早期以來眾所周知的最佳實踐。
在應用程序端,您必須自己解碼參數。 每種編程語言都有模塊。 在大多數情況下,所有的Web框架都應該在內部進行解碼。
在這種情況下,它不是params而是PUT數據。 我通過使用而解決了這個問題
payload = json.dumps({"host": "tst123:3306"})
headers = {'content-type': 'application/json'}
r = requests.put(url, data=payload, headers=headers)
我能理解為什么url參數需要編碼但為什么PUT數據?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.