2017-07-31 85 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

這個作品謝謝 –