解決requests庫中session.verify引數失效的問題
在使用requests庫進行HTTP請求時,如果在環境變數中設定了'REQUESTS_CA_BUNDLE',並且在session物件中設定了verify引數為False,那麼API請求會使用環境變數中的值而不是session物件中的值。這是因為在requests庫中,當session物件中的verify引數被設定為False時,它會優先使用環境變數中的值。
這個問題的發起者(我)遇到了這個bug,它導致了API請求的安全性問題,因為本應該忽略證照驗證的請求也會受到環境變數的影響。
解決方案
要解決這個問題,可以在呼叫session物件之前,先將'REQUESTS_CA_BUNDLE'環境變數設定為None,然後再設定session物件的verify引數。這樣,API請求就會優先使用session物件中的值,而不是環境變數中的值。
以下是修改後的程式碼示例:
```python
import requests
import os
# 設定環境變數'REQUESTS_CA_BUNDLE'為None
os.environ['REQUESTS_CA_BUNDLE'] = None
# 建立session物件
session = requests.Session()
# 設定session物件的verify引數為False
session.verify = False
# 發起HTTP請求
response = session.request(method, url="/".join([self.base_url, url]), headers=headers, data=body, params=query)
```
在上述程式碼中,首先將'REQUESTS_CA_BUNDLE'環境變數設定為None,然後建立一個session物件,並將session物件的verify引數設定為False。這樣,無論環境變數中的值如何設定,API請求都會優先使用session物件中的值,從而解決了該問題。
透過這種方式,我們可以確保在需要忽略證照驗證的情況下,session.verify引數不會被環境變數干擾,提高了API請求的安全性和可靠性。希望這篇文章對解決這個問題有所幫助。如果有任何疑問或需要進一步的解釋,請隨時提出。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70032566/viewspace-2995597/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 解決 requests 庫中的位元組物件問題物件
- 解決requests庫中SSL驗證問題
- 解決 requests 庫 URL 編碼問題
- 解決latch free問題的資料庫引數調整資料庫
- 使用requests庫解決Session物件設定超時的問題Session物件
- .gitignore 失效問題解決Git
- 解決 requests-2.17.3 依賴 chardet 庫版本不匹配的問題
- Python 3.6.10 中的 requests 庫 TLS 1.2 強制使用問題及解決方案PythonTLS
- Python的requests庫:解決文件缺失問題的策略與實踐Python
- imp中的indexfile引數解決imp指定表空間問題Index
- Python Requests庫文件連結404問題解決及防止重複問題的建議Python
- rake 任務引數傳遞問題解決
- WPF 解決 CommandParameter 引數不更新問題
- 解決Url帶中文引數亂碼問題
- 解決WPF中過載Window.OnRender函式失效問題函式
- python requests 怎麼解決 url 中../ 自動跳目錄的問題?Python
- 【ASK_ORACLE】LOCK_SGA引數失效的解決辦法Oracle
- 解決ajax請求引數過多導致引數被截斷的問題
- js解決url傳引數中文亂碼問題JS
- url引數中有+、空格、=、%、&、#等特殊符號的問題解決符號
- 記錄解決HttpServletResponse在引數報錯的問題HTTPServlet
- 解決Flutter打包後permission_handler失效問題Flutter
- 微服務改造中解決跨庫問題的思路微服務
- [記錄]Standby相關引數及gap問題解決
- 解決 allure.dynamic.parameter 不生效問題 或者 allure 報告中因為引數導致排版的問題
- 優化-mysql子查詢索引失效問題解決優化MySql索引
- liunx之:解決liunx下dns配置重啟失效的問題DNS
- 解決ajax get post方式提交中文引數亂碼問題
- vue 新增axios解決post傳引數為null問題VueiOSNull
- ajax使用url傳遞中文引數亂碼問題解決
- post傳引數,但是後端無法接收問題解決後端
- 如何解決快取失效問題快取
- Python中func(*args, **kwargs)的引數問題Python
- YII2自動登入Cookie失效問題解決Cookie
- 安裝 python3 後,yum 失效問題解決Python
- 將函式作為引數傳遞解決非同步問題函式非同步
- Servlet接收JSP引數亂碼問題解決辦法薦ServletJS
- [Jenkins]解決開啟slave.jar需要-secret引數問題JenkinsJAR