如何使用Python requests
庫來訪問錯誤流?例如,在Java中使用HttpURLConnection
,我會做這樣的事情:如何使用Python請求庫獲取HTTP錯誤流?
InputStream errorStream = conn.getErrorStream();
有這樣與requests
的功能?
我正在尋找由源提供的響應中的錯誤消息,而不是錯誤狀態,例如內部服務器錯誤
如何使用Python requests
庫來訪問錯誤流?例如,在Java中使用HttpURLConnection
,我會做這樣的事情:如何使用Python請求庫獲取HTTP錯誤流?
InputStream errorStream = conn.getErrorStream();
有這樣與requests
的功能?
我正在尋找由源提供的響應中的錯誤消息,而不是錯誤狀態,例如內部服務器錯誤
requests
如果發生HTTP錯誤,則不會引發異常,但您可以在響應內容中獲取錯誤消息。示例:
url = 'https://stackoverflow.com/does_not_exist'
r = requests.get(url)
print(r.status_code, r.reason)
print(r.text)
我一般誤解了HTTP響應。我認爲錯誤響應是在原始響應的一個單獨部分中設置的,但大概是我發佈的Java示例強制您調用'getErrorStream'來確保您知道您正在檢索錯誤響應,以防止意外調用getInputStream思維你的迴應很好。 – RTF
如果你想使用['raise_for_status()'](http://docs.python-requests.org/en/master/user/quickstart/#response-status-codes)來引發'HTTPError'異常, –
您是指響應的正文內容? –
那麼,在調用'getInputStream'(獲取響應內容)的Java中,如果響應代碼是錯誤響應,則會引發異常。在這種情況下,你必須調用'getErrorStream'。你是說'請求'對待他們都一樣嗎?所以調用'response.text'會給我什麼可用的? – RTF
好吧,試試吧。 –