我确定这真的是平庸和愚蠢但我无法理解我的生活。
我正在使用Alchemy API,其中使用请求的POST请求看起来像
r = requests.post(url, payload, headers=headers)
其中,有效负载是一个字典,带有用于网址编码的字段,如text=this%20is%text
我遇到的愚蠢问题是,如果我使用urllib进行编码,例如myText = urlencode({'text': textToEncode})
我无法将其插入到payload={'text': myText}
的有效负载中,因为我得到了类似text=text=this%20is%text
的内容
如果我只能对字符串本身进行编码,那么这将简单得多。编码功能添加了这些我无法将插入转换为dict的东西,因为整个dict被编码。
我错过了一些非常简单和愚蠢的东西吗?
答案 0 :(得分:1)
尝试添加Content-type
标头,例如application/json
,然后使用data=json.dumps(payload)
。
import json
headers['Content-type'] = 'application/json'
r = requests.post(url, data=json.dumps(payload), headers=headers)