サイトのリモート証明書を取得するために (stdlib から) ssl モジュールで SocksIPy を使用しようとしていますが、SocksIPy は ssl で再生されません。
以下のコードは check.torproject.org に接続し、Tor を使用していないことを示します (つまり、SocksIPy が機能していません) (悪い)。
SocksIPy がこれに最適なソリューションであるかどうかはわかりませんが、生のソケットをプロキシする他の方法を見つけることができませんでした (または、pycurl/urllib2 を取得して SOCKS プロキシを使用し、SSL 証明書を提供します!)。
明確にするために、私の問題は、ソケットがプロキシされていないことです。選択したプロキシを使用して SSL 証明書を取得したいのですが、それは実現していません。
今のところ、プロキシまたは SSL のいずれかを使用できますが、両方を使用することはできません。ヘルプ!
import socks
import ssl
s = socks.socksocket()
s.setproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
ss = ssl.wrap_socket(s)
ss.connect(('check.torproject.org', 443))
ss.write("""GET / HTTP/1.0\r
Host: check.torproject.org\r\n\r\n""")
# print ss.getpeercert()
print ss.read(), ss.read(), ss.read()
ss.close()