[英]python requests - post files multipart (http-status-code-400)
[英]Python requests no Exception on status 400
我正在設置一個小型 Python 腳本,以便我的同事可以使用以下代碼根據一些輸入從某個內部 API 收集數據:
url = "https://....."
params = dict(...)
client = BackendApplicationClient(client_id=client_id)
client.prepare_request_body(scope=[])
session = OAuth2Session(client=client)
response = session.get(url=url, params=params, verify=session.verify)
其中參數基於手動輸入。 我可以保證某些輸入不會完全符合 API 的要求(例如需要大寫的小寫字母等)。 在這種情況下,API 將返回狀態為 400 的響應:
>> response
<Response [400]>
>> response.text
{"statusCode":400,"errorMessage":"Bad Request","errors": ...}
>> response.status_code
400
我想我可以用response.raise_for_status()
捕獲這個,但是沒有引發異常,返回值為None
:
>> response.raise_for_status()
None
為什么是這樣? 我認為 raise_for_status function 應該根據響應的 status_code 引發異常
如果 HTTP 狀態代碼為 400,則 requests 模塊的響應中的 raise_for_status()將引發 HTTPError 異常。這是 OAuth2Session 的一個特性,您可以在此處閱讀
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.