使用Python 3.5的時候,並請2.18.4我需要將數據發送到另一個服務無法requests.post,它目前沒有出於某種原因。 發送是在我接收並清除來自另一個服務的數據後進行的,並最終將數據驗證並設置爲本機python字典。 這工作時的數據是硬編碼的,我沒有使用的輸入數據(硬編碼的JSON字符串):使用json.dumps
def my_post_method(self, url, data):
# import requests (above)
return requests.post(
url,
data='{"keyA":"valA", "keyB":"valB" ... }',
headers={'Content-Type': 'application/json'},
) # status 200
但我不能由於某種原因原始數據發送。從上面
def my_post_method(self, url, data):
# import requests, json (above)
d = json.dumps(data)
return requests.post(
url,
data=d,
headers={'Content-Type': 'application/json'},
) # status 400
d:{"keyA":"valA", "keyB":"valB" ... }
我試圖使用請求JSON參數,而不是數據,但其他服務在另一端顯然期望數據參數。 這是否意味着我發佈的服務正在等待一個json格式的字符串?
我們可以知道其他服務?我們可以嘗試一些公開的東西嗎? – GendoIkari
您是否嘗試再次使用硬編碼字符串進行POST?服務是否可能返回400秒,因爲它不希望您兩次提交相同的請求? –
謝謝@Rob瓦,但我回答如下─一些奇怪的原因,鍵 - 值的順序被考慮到當接收端被驗證傳入的數據。我真的不知道爲什麼... – camelBack