我正在尝试创建一个HTTP客户端,它必须通过转发代理与公共网络中的源服务器联系。与代理和原始服务器的通信必须是相互TLS。
我尝试使用python的请求库来执行此操作 -
import requests
from requests.exceptions import Timeout, ConnectionError
origin_url="https://origin_server.com/"
CA_CHAIN_FILE = 'ca.pem'
SERVER_KEY = 'server.cer'
PRIV_KEY = 'private.key'
auth_tuple = None
timeout_sec = 5
proxies = {
'https': 'https://fwd_proxy.cust1.com:8445'
}
headers = { 'User-Agent': 'My User Agent' }
payload = {}
resp = requests.get(origin_url, data=payload, verify=CA_CHAIN_FILE, auth=auth_tuple, headers=headers, cert=(SERVER_KEY, PRIV_KEY), timeout=timeout_sec, proxies=proxies)
但是上面的代码以纯文本形式发送HTTP CONNECT,并且不首先与代理建立ssl连接。有没有办法使用请求库或任何其他python模块实现这一点?