2017-03-01 17 views
-1

結果の本文を取得できないため、Web APIに接続すると問題が発生します。PythonのJSON WEB APIリクエストから本文を取得できません

これは私のコードです:

import json,requests 
url =('URL') 
data={"Content-Type":"application/x-wwwform-urlencoded", "Authorization":"Valid JWT Token"} 
myResponse1 = requests.get(url,data=data) 
print ("status_code:"+ str(myResponse1.status_code)) 
print ("******************") 
print ("text:"+ str(myResponse1.text)) 
print ("******************") 
print ("encoding:"+ str(myResponse1.encoding)) 
print ("******************") 
print ("json:"+ str(myResponse1.json)) 
print ("******************") 
print ("content:"+ str(myResponse1.content)) 
print ("******************") 
print ("body:"+ str(myResponse1.body)) 

聖霊降臨祭この出力:私はポストマンとAPIをしようとすると、私の体の結果をバック与えているので

status_code:401 
****************** 
text: 
****************** 
encoding:None 
****************** 
json:<bound method Response.json of <Response [401]>> 
****************** 
content:b'' 
****************** 
Traceback (most recent call last): 
    File "C:\Users\Carlo\Desktop\Web API\Log-In_API.py", line 28, in <module> 
    print ("body:"+ str(myResponse1.body)) 
AttributeError: 'Response' object has no attribute 'body' 

は、今私は、理由を理解することはできません: enter image description here

私の結果と写真にはステータスが表示されていますが、私たちは別のものを持っていますが、

+0

答えによって記載されているように、あなたがスクリーンショットに実際にあるヘッダを与えるということですあなたは提供しました。 Postmanはヘッダーセクションを表示しますが、コードはカスタムヘッダーを使用せず、関連するdictをデータパラメーターに送ります。 GETリクエストの場合は、URLに変換されます。 – hamilyon

+0

ねえ、私はこの質問に否定的なスコアを持っている理由を聞かせてもらえますか?私はすべての私の質問を改善しようとしていますが、なぜ私はそれに否定的なスコアを持っているのか分かりません:S –

答えて

1

requestsによって返されるResponseオブジェクトは実際にはbodyという属性を持たないため、ドキュメントにはそのような意味はありません。

myResponse1.contentmyResponse1.textを印刷すると、すでに応答の内容にアクセスしています。

注:jsonはメソッドです。内容をjsonとしたい場合は、myResponse1.json()と呼ぶ必要があります。

また、認可とコンテンツタイプはヘッダーであり、照会パラメーターではありません。

1

あなたの問題は、データ

data={"Content-Type":"application/x-wwwform-urlencoded", "Authorization":"Valid JWT Token"} 
myResponse1 = requests.get(url,data=data) 

ではなく、あなたが引数ヘッダ

headers={"Content-Type":"application/x-wwwform-urlencoded", "Authorization":"Valid JWT Token"} 
    myResponse1 = requests.get(url,headers=headers) 

を使用する必要がありますし、また問題が Daniel

+0

私はこの変更を行いましたが、私はまだエラーが発生し、私が今通過している情報がPostmanと同じで、データではなくヘッダーであるため、実際になぜ理解していないのですか。S –

+0

問題が解決され、認証の問題とヘッダーが追加されました。本当にありがとう –

関連する問題