file_get_content('php://input') return 数据错误

file_get_content('php://input') return wrong data

我想将完整的 json 数据发送到我的页面,我使用 file_get_contents('php://input') 并使用 [=28= 将其转换为 json ]()。但是对于不和谐的嵌入,file_get_contents() return 错误的数据。

Json 字符串:{"embeds":[{"title":"Hello!","description":"Hi!"}]}

file_get_contents() return : embeds=title&embeds=description

我使用python请求模块发送json:

import requests

data = {"embeds":[{"title":"Hello!","description":"Hi! :grinning:"}]}

headers = {'Content-Type': 'application/json'}

r = requests.post('https://example.com', data=data, headers=headers)

print(r.text)

替代 file_get_contents() 或其他东西?

问题来自 Python 脚本中的请求。 data 参数应作为 JSON 模式的字符串发送。将 import json 添加到您的代码中并使用 data=json.dumps(data) 而不是 data=data.

有关 json.dumps 的更多信息在这里:https://docs.python.org/3/library/json.html

r = requests.post('https://example.com', data=json.dumps(data), headers=headers)