簡體   English   中英

Python - 請求庫 - 如何確保 HTTPS 請求

[英]Python - Requests Library - How to ensure HTTPS requests

這可能是一個愚蠢的問題,但我只想確定以下內容。

我目前正在使用 python 中的請求庫。 我正在使用它來調用托管在 Azure 雲上的外部 API。

如果我使用來自虛擬機的請求庫,並且請求庫發送到 URL:http s ://api-management-example/run,這是否意味着我與這個 ZDB974238714CA8DE634A7CE1D08 的通信作為整個有效負載發送,安全嗎? 我在我的虛擬環境中的 Python 站點包中看到,有一個 cacert.pem 文件。 我需要更新嗎? 我是否需要做任何其他事情以確保通信安全,或者我調用 HTTPS URL 的事實意味着它是安全的?

任何信息/指導將不勝感激。

謝謝,

Post 請求更安全,因為它們可以以加密形式作為消息體攜帶數據。 而 GET 請求 append 中的參數 URL,這在瀏覽器歷史記錄中也可見,SSL/TLS 和 HTTPS 連接也加密了 GET 參數。 如果您不使用 HTTPs 或 SSL/TSL 連接,則 POST 請求是安全的首選。 字典 object 可用於將數據作為鍵值對發送到 post 方法的第二個參數。

如果您的 API 上有有效的 SSL 證書,則 HTTPS 協議是安全的。 如果您想更加安全,您可以實施端到端加密/加密。 基本上將您所謂的純文本轉換為加密文本,稱為密文。

您可以在requests庫中顯式啟用驗證:

import requests

session = requests.Session()
session.verify = True
session.post(url='https://api-management-example/run', data={'bar':'baz'})

這是默認啟用的。 您還可以根據請求驗證證書:

requests.get('https://github.com', verify='/path/to/certfile')

或根據 session:

s = requests.Session()
s.verify = '/path/to/certfile'

閱讀文檔

  1. HTTPS 使用有效的簽名證書是安全的。 有些人使用自簽名證書來維護 HTTPS。 在請求庫中,您明確驗證您的證書。 如果您有自簽名 HTTPS 那么,您需要通過證書與您的本地證書進行交叉驗證。
  • 驗證 = 真
import requests

response = requests.get("https://api-management-example/run", verify=True)
  • 自簽名證書
import requests

response = requests.get("https://api-management-example/run", verify="/path/to/local/certificate/file/")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM