解決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 編碼問題
- Python 3.6.10 中的 requests 庫 TLS 1.2 強制使用問題及解決方案PythonTLS
- 使用requests庫解決Session物件設定超時的問題Session物件
- Python的requests庫:解決文件缺失問題的策略與實踐Python
- 解決 requests-2.17.3 依賴 chardet 庫版本不匹配的問題
- Python Requests庫文件連結404問題解決及防止重複問題的建議Python
- WPF 解決 CommandParameter 引數不更新問題
- python requests 怎麼解決 url 中../ 自動跳目錄的問題?Python
- 解決Url帶中文引數亂碼問題
- 記錄解決HttpServletResponse在引數報錯的問題HTTPServlet
- 【ASK_ORACLE】LOCK_SGA引數失效的解決辦法Oracle
- 解決WPF中過載Window.OnRender函式失效問題函式
- 解決ajax請求引數過多導致引數被截斷的問題
- 解決Flutter打包後permission_handler失效問題Flutter
- vue 新增axios解決post傳引數為null問題VueiOSNull
- 優化-mysql子查詢索引失效問題解決優化MySql索引
- 安裝 python3 後,yum 失效問題解決Python
- 解決vscode快速修復快捷鍵(ctrl+.)失效的問題VSCode
- 解決 allure.dynamic.parameter 不生效問題 或者 allure 報告中因為引數導致排版的問題
- 解決ajax get post方式提交中文引數亂碼問題
- post傳引數,但是後端無法接收問題解決後端
- 如何解決快取失效問題快取
- 解決 ScrollView 巢狀 RecyclerView 時,慣性滑動失效的問題View巢狀
- 解決在Windows 11下Visual Studio部分快捷鍵失效的問題Windows
- YII2自動登入Cookie失效問題解決Cookie
- 使用 requests 2.11 版本時的 Site ID 型別問題及解決方案型別
- @Value失效的問題
- 將函式作為引數傳遞解決非同步問題函式非同步
- 小知識:CentOS配置yum源/解決yum源失效問題CentOS
- 動態生成html元素繫結事件iphone失效問題解決HTML事件iPhone
- display:flex佈局下white-space:nowrap失效問題解決Flex
- LOG巨集的引數問題
- 智慧倉庫管理能夠解決倉庫中那些棘手問題?
- Docker修改/etc/default/docker裡的DOCKER_OPTS引數不生效問題解決Docker
- Mybatis動態傳入order by 引數的時候不生效的問題解決方案MyBatis
- Unity容器建構函式引數迴圈引用問題及解決Unity函式