2017-10-13 7 views
1

Python requestsライブラリを使用してエラーストリームにアクセスするにはどうすればよいですか?たとえば、JavaでHttpURLConnectionを使用して、私のようなものだろう:Pythonリクエストライブラリを使用してHTTPエラーストリームを取得する方法は?

InputStream errorStream = conn.getErrorStream(); 

requestsと、このような機能はありますか?
エラーの状態ではなく、ソースから提供された応答のエラーメッセージを探しています。内部サーバーエラー

+0

応答の本文内容を意味しますか? –

+0

さて、Javaが応答内容を取得する 'getInputStream'を呼び出すと、応答コードがエラー応答であれば例外がスローされます。そのような状況では、 'getErrorStream'を呼び出さなければなりません。あなたは '要求'がそれらを同じように扱うと言っていますか?それで 'response.text'を呼び出すと、利用可能なものがあれば教えてくれますか? – RTF

+0

さて、試してみてください。 –

答えて

1

requests HTTPエラーが発生した場合でも例外は発生しませんが、応答内容にエラーメッセージが表示されます。例:

url = 'https://stackoverflow.com/does_not_exist' 
r = requests.get(url) 
print(r.status_code, r.reason) 
print(r.text) 
+0

私は一般的にHTTP応答を誤解していました。私はエラーレスポンスが生のレスポンスの別の部分に設定されていると思っていましたが、おそらくJavaの例では、 'getErrorStream'を呼び出してエラーレスポンスを取得していることを確認し、あなたの反応は良いです。 – RTF

+1

['raise_for_status()'](http://docs.python-requests.org/ja/master/user/quickstart/#response-status-codes)で必要ならば、 'HTTPError'例外を発生させることができます。 –

関連する問題