1

我正在尝试安装支持 https 和 cookielib 的开启程序,并编写了 CookieJar 和 HTTPSHandler。但我不知道如何使用 CookieJar 和 HTTPSHandler 构建开启程序。

这里:

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)

cj = cookielib.CookieJar();
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj));
urllib2.install_opener(urllib2.build_opener(HTTPSHandlerV3()))

谢谢你。

4

0 回答 0