2017-03-23 2 views
0

다른 질문을 올렸지 만 댓글 섹션에 약간의 혼란을 일으켰습니다. 기본적으로 API에 GET 요청을 처리하기 위해 CURL을 사용하여 일반적으로 수행 할 작업을 수행하기 위해 Python에서 요청 라이브러리를 사용하려고합니다. 나는 일반적으로 사용하는Python에서 GET 요청을 처리하기 위해 요청을 사용합니다.

원래 CURL 명령 :

curl -X GET -H 'Authorization: exapi:111:58d351234e1a:LA2' 'http://api.example.com/v1.14/user?id=1234' 

이를 내가 여기에 매우 도움이 사람으로부터 배운 것을, 나는 요청뿐만 아니라 다음을 수행하여 인증 헤더를 처리 할 수에서 내 코드를 실행하면

import requests 
import json 

url = "http://api.example.com/v1.14/user?id=1234" 
headers = {"Authorization": "exapi:111:58d351234e1a:LA2"} 

response = requests.get(url, headers=headers) 

print response.json 

그러나, 내가 대신 데이터의 bound method response.json of <response [200]>를받는 를 GET에서 내가 기대했다 : 내 스크립트 사용하고있는 파이썬 코드입니다. 누군가 내가 여기서 잘못하고있는 것을 알아낼 수 있습니까? 나는 내 머리글에 문제가 있다고 생각하지만 확실하지 않습니다.

+0

이것은 헤더와는 아무 관련이 없습니다. 'response.json'은 메소드입니다. 여러분은 그것을'response.json()'처럼 호출해야합니다. –

+0

아 맞아 ... 그게 말이 되네. 감사. – user7681184

답변

-1

어떻게 명시 적으로 JSON 모듈을 사용하는 방법에 대한 @ juanpa.arrivilaga으로

data = json.loads(response.text) 
print data 
+0

왜이 방법을 사용하지 않는 것이 좋을까요? –

+0

작성자가'.text'와'.json()'메소드를 섞지 않도록하십시오. – hurturk

1

이미 언급했고 print 에드 메시지가 명확하게 말하는 것처럼, 당신은 바운드 json 메소드를 호출 할 필요가있다. 혼란의 원인은 속성 인 content 일 가능성이 큽니다.

response.json() # method 
response.content # attribute 
+1

이렇게하면'import json'도 제거 할 수 있습니다. – hurturk

관련 문제