0
APIへのポストリクエストを送信しています。 APIでは、raw形式のparamsが必要です。Pythonリクエストライブラリが正しいパラメータを送信していません
headers = {"content-type" : "application/json"}
url = "http://test.web.com/web_api/CreateHeader"
params = {"param1" : "asd", "param2" : "asdd"}
r = requests.post(url, data = json.dumps(params), headers = headers, auth = HTTPBasicAuth('user', 'pass'))
r.json()
ここで、ポストリクエストのリターンは失敗します。ただし、このようなパラメータを送信すると、
params ="{\n \"param1\" : \"asd\", \"param2\" : \"asdd\"\n}"
r = requests.post(url, data = params, headers = headers, auth = HTTPBasicAuth('user', 'pass'))
成功します。あなたはここで何が起こっているのか知っていますか?あなたの説明から
なぜデータをjsonとして送信していますか、それを辞書として送信してください。単に 'data = json.dumps(params)'の代わりに 'data = params'を実行してください。 – karthikr
apiはraw形式のデータを期待しています。私は辞書としてそれを送ったが失敗した。 –
ありがとうございますが、いいえ、それは私が質問を入力する間に作った間違いでした。 –