programing

Response' 개체가 구독 가능한 Python http post 요청이 아닙니다.

mailnote 2023. 3. 7. 21:45
반응형

Response' 개체가 구독 가능한 Python http post 요청이 아닙니다.

투고하려고 합니다.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"])

response오브젝트에는 payload뿐만 아니라 훨씬 더 많은 정보가 포함되어 있습니다.POST 요청에 의해 반환된 JSON 데이터를 얻으려면response.json()를 참조해 주세요.

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

응답을 dict로 변환해야 합니다.

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

응답을 읽을 수 없기 때문에 읽을 수 있는 형식으로 변환해야 합니다.저는 python http.client를 사용하고 있었습니다.

conn = http.client.HTTPConnection('localhost', 5000)

payload = json.dumps({'username': "username", 'password': "password"})
headers = {'Content-Type': 'application/json'}
conn.request('POST', '/api/user/register', payload, headers)
response = conn.getresponse()
print("JSON - ", response.read())

요청에 대해서는 위의 답변을 참조해 주십시오.

때때로 당신은 그것을 사용해야 한다.json.loads()적절한 포맷을 변환하는 기능을 제공합니다.

언급URL : https://stackoverflow.com/questions/34508981/response-object-is-not-subscriptable-python-http-post-request

반응형