dfd

来源:互联网 发布:上市的大数据公司 编辑:程序博客网 时间:2024/05/22 07:05
import httplib, ssl, urllib2, socket


class HTTPSConnectionV3(httplib.HTTPSConnection):
        def __init__(self, *args, **kwargs):
                httplib.HTTPSConnection.__init__(self, *args, **kwargs)


        def connect(self):
                sock = socket.create_connection((self.host, self.port), self.timeout)
                if self._tunnel_host:
                        self.sock = sock
                        self._tunnel()
                try:
                        self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file, ssl_version = ssl.PROTOCOL_SSLv3)
                except ssl.SSLError, e:
                        print("Trying SSLv3")
                        self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file, ssl_version = ssl.PROTOCOL_SSLv23)


class HTTPSHandlerV3(urllib2.HTTPSHandler):
        def https_open(self, req):
                return self.do_open(HTTPSConnectionV3, req)


urllib2.install_opener(urllib2.build_opener(HTTPSHandlerV3()))


r = urllib2.urlopen("https://shadowsocks5.com")

print r.read()



http://www.cnblogs.com/jcli/archive/2013/03/13/2956909.html

0 0