首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用PySocks和Socks5代理时禁用对SSL证书的验证?

如何在使用PySocks和Socks5代理时禁用对SSL证书的验证?
EN

Stack Overflow用户
提问于 2016-01-22 21:26:32
回答 1查看 256关注 0票数 0

这似乎让我很接近:SOCKS5 proxy using urllib2 and PySocks,但似乎如果我试图添加上下文来禁用SSL验证,它就会忽略它。我不是最擅长python的人,但是看起来继承PySocks中的类和HTTPShandler的事情是一样的。如果是这样的话,我想我可以直接传入context=context,而不是发出。但它不起作用。这是我的方法。

代码语言:javascript
复制
def make_http_call(url, socks_hostname=None, socks_port=None, socks_username=None, socks_password=None, params=None):
    """
    Make a HTTP GET request to given url.
    """
    import ssl
    url = add_url_params(url, params)
    opener = urllib2.build_opener()
    context = ssl._create_unverified_context
   if socks_hostname and socks_port and socks_username and socks_password:
        # Use proxy instead if params are provided
        print "Socks Proxy is being used..."
        opener = urllib2.build_opener(
            SocksiPyHandler(socks.PROXY_TYPE_SOCKS5, socks_hostname, socks_port, True, socks_username, socks_password, context=context))
    else:
        print "Socks Proxy not in use..."
    request = urllib2.Request(url)
    response = opener.open(request).read()
    return response

这个是可能的吗?

EN

回答 1

Stack Overflow用户

发布于 2016-03-04 23:47:46

对于上下文变量,我会这样做(未测试的代码):

代码语言:javascript
复制
context = ssl.create_default_context()
context.verify_mode = CERT_NONE
context.check_hostname = False

最后一行不是必需的,因为我们不是在检查证书,但它只是以防万一。现在我不建议这样做,因为这不能确保你正在与你认为你是谁进行交流,我也不建议使用低于3的任何python版本,因为它们有很大的安全问题,See Here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34947808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档