无法使用python模块请求发送POST数据

时间:2017-07-24 16:16:12

标签: python django post http-post python-requests

我有2台django服务器。我想将一些POST数据从服务器A发送到服务器B.

我在服务器A上使用此代码发送数据(我只需按照tutorial):

payload = {"contenu" : Contenu, "ID" : hashage}
payload_json = json.dumps(payload, separators=(',', ': '))
with open('backend/config.json') as json_data:
    facto = json.load(json_data)
    json_data.close
hostnamefacto = facto["Factory"]["IP"]
portFacto = facto["Factory"]["port"]
reponse = requests.post('http://'+hostnamefacto+':'+portFacto+'/outil/test/', data = payload_json)

在服务器B上,我使用此代码获取数据:

try:
    contenu = request.POST['contenu']
except KeyError:
    contenu = None
try:
    ID = request.POST['ID']
except KeyError:
    ID = None

但ID和contenu相等无。有人知道怎么做吗? 非常感谢。

1 个答案:

答案 0 :(得分:1)

您正在阅读您希望将原始主体解析为JSON的POST parameters

data = json.loads(request.body)
id = data['ID']

让请求库为您执行JSON编码:

payload = {"contenu" : Contenu, "ID" : hashage}
r = requests.post('http://'+hostnamefacto+':'+portFacto+'/outil/test/', json=paylod)