2017-07-31 87 views
0

我试图将JSON发布到一个URL,但响应似乎是错误的。将JSON发布到网址时收到不正确的响应

url = "www.example123.com/someurl" 
mypayload = { //JSON PAYLOAD } 
response = request.post(url, post = payload, auth = ("USERNAME", "PASSWORD")) 
print(response.content) 

但它似乎没有工作。代码有什么问题?

+0

预期产量是多少?你有什么?有没有错误? – Nabin

+0

我收到了不适当的回应。 –

回答

2

您需要适当的标题来指定其JSON数据。

尝试:

headers_JSON = {'content-type': 'application/json'} 
response = request.post(url, JSON = mypayload, headers = headers_JSON, auth = ("USERNAME", "PASSWORD")) 

还要注意,而不是post = payload,使用JSON = payload

如果不行使用:

post = JSON.dumps(payload)

快速浏览一下该文件将帮助:

+0

超棒的男人。有效。现在我使用头文件和JSON = mypayload来获得相关响应。 –

+1

@MaccenWright很高兴你发现它有帮助。 –

1
var retval = jQuery.ajax({ 
    type:'post', 
    url: url, 
    contentType: 'application/json', 
    data: JSON.stringify(data) 
}); 

你可以看到上面的jQuery阿贾克斯我们设置内容键入至“application/json”

您可以在您的请求中看到有效载荷是什么。这一切都取决于您的服务器API所期望的意思是内容类型。

+1

这个作品谢谢 –