python - urllib2:如何从 SSL 隧道回复访问 header

标签 python ssl urllib2 proxytunnel

我正在使用代理服务器的 SSL 隧道连接到目标服务器。我使用 http 连接到代理服务器,使用 HTTPS 连接到目标服务器。 SSL 隧道正常工作,我可以与远程服务器交换 HTTPS 消息,但是有一个问题。代理服务器在其对 urllib2 建立我需要查看的 SSL 隧道的请求的回复中返回一个 header ,但我没有看到使用 urllib2 (Python 2.7.3) 访问它的方法。

我想理论上我可以自己实现 SSL 隧道握手,但这会让我比我想要的(或者我觉得舒服的)更深入地了解协议(protocol)。

有没有办法在建立 SSL 隧道时使用 urllib2 访问回复?

更新:

下面是使用代理服务器连接目标服务器的代码(代理服务器和目标服务器的URL不是真实的):

proxy_handler = urllib2.ProxyHandler({'https': 'http://proxy.com'})
url_opener = urllib2.build_opener (proxy_handler)
request = urllib2.Request ('https://target_server.com/')
response = url_opener.open (request)
print response.headers.dict

我使用 WireShark 查看消息流量。 WireShark 不会向我显示与目标服务器交换的消息正文,因为它们已加密,但我可以看到 SSL 隧道握手的正文。我可以看到我感兴趣的 header 从代理服务器返回。

最佳答案

您如何调用 https 页面。

你在用吗

resp = urllib2.urlopen('https')
resp.info().headers

关于python - urllib2:如何从 SSL 隧道回复访问 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13483541/

相关文章:

python - 使用 NetworkX/PyGraphviz 绘制多重图 : fine tuning node/edge position

apache - 如何仅向支持 SSL/TLS 加密的设备提供 Https ://version of your site (via Apache . htaccess)

Spring-boot 配置 client-auth=需要辅助 SSL 监听器

python - 在 Python 中通过 TCP 代理连接发送 SSL 数据

python - AppEngine urlfetch validate_certificate=False/None 不被尊重

python - Pandas 按包含数字和字母的列对数据框进行排序

Python 随机样本生成器(适用于庞大的人口规模)

python - 定义一个 pytest fixture ,为测试函数提供多个参数

python - Urllib2 & BeautifulSoup : Nice couple but too slow - urllib3 & threads?

Python:检查是否可以连接到给定的 url (urllib2)