1

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

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

建立 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 隧道握手的正文。我可以看到我感兴趣的标头从代理服务器返回。

4

1 回答 1

0

您如何调用 https 页面。

你正在用吗

resp = urllib2.urlopen('https')
resp.info().headers
于 2012-11-20T23:29:22.833 回答