使用Python发送JSON POST请求
我在使用Firefox插件“HttpFox”时,得到了一个看起来像这样的POST请求:
{'json':'{"command":"SEARCH","data":{"someData":"someValue","otherData":"otherData"}}'}
现在我需要用Python发送一个HTTP请求,以获取与在浏览器中相同的数据。请看代码:
headers = {'Content-type': 'application/json; charset=utf-8'}
payload = ?
req = requests.post(url, data=json.dumps(payload), headers = headers)
我的问题是:
我不太确定如何构建这个数据包。它应该也是一个字典,但我对HttpFox提供的POST类型感到困惑。因为在主字典里面有两个字典。
我该怎么处理这个问题呢?
非常感谢任何帮助。
1 个回答
0
好的,我找到了解决办法:
需要构建一个像这样的字典:
valueString = """{"command":"SEARCH","data":{"someData":"someValue","otherData":"otherData"}}"""
/// the """ ensures that the whole text between """ is handled as a string.
payload = {'json': valueString}
这里的关键字 'json' 需要一个字符串。在这个例子中,这个字符串看起来像一个字典。
就这样。