web-dev-qa-db-ja.com

Response 'オブジェクトは下付きではありませんPython http post request

HTTPリクエストを投稿しようとしています。私はなんとかコードを機能させることができましたが、結果の一部を返すのに苦労しています。

結果はこのようになります

{
  "requestId" : "8317cgs1e1-36hd42-43h6be-br34r2-c70a6ege3fs5sbh",
  "numberOfRequests" : 1893
}

RequestIdを取得しようとしていますが、エラーResponse 'オブジェクトが下付きではありません。

import json
import requests

workingFile = 'D:\\test.json'

with open(workingFile, 'r') as fh:
    data = json.load(fh)

url = 'http://jsontest'
username = 'user'
password = 'password123'

requestpost = requests.post(url, json=data, auth=(username, password))

print(requestpost["requestId"])
14
tosh

responseオブジェクトには、ペイロードだけではなく、はるかに多くの情報が含まれています。 POSTリクエストによって返されたJSONデータを取得するには、説明されているようにresponse.json()にアクセスする必要があります 例では

requestpost = requests.post(url, json=data, auth=(username, password))
response_data = requestpost.json()
print(response_data["requestId"])
23
Finwood

あなたの応答をdictに変換する必要があります:

requestpost = requests.post(url, json=data, auth=(username, password))
res = requestpost.json()
print(res["requestId"])
1
Pierre Michard