使用Python发送JSON POST请求

1 投票
1 回答
1346 浏览
提问于 2025-04-28 02:23

我在使用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' 需要一个字符串。在这个例子中,这个字符串看起来像一个字典。

就这样。

撰写回答