注册
登录
代理IP知识 / 内容详情
python使用代理IP报错SSLError是什么原因
站大爷 官方 2021-12-29 14:31:33

最近有好几个用户在通过python使用代理IP时报了这样的错误:“Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:997)')))”,究竟是什么原因呢?

python使用代理IP报错SSLError是什么原因

一开始用户以为是短效优质代理IP不支持https协议,因为访问http网站是正常的,访问https网站就报上面那个错误。在得到客服再三的肯定回复支持https协议后,又怀疑是ssl版本的问题,毕竟错误提示是“WRONG_VERSION_NUMBER”,翻译过来是“错误的版本号”,是哪里的版本不对呢?是客户端的SSL版本不对,还是代理服务器的SSL版本不对呢?


用户客户端不使用代理IP可以正常访问https网站,客服测试代理IP也可以访问https网站,这说明不论是用户的客户端还是代理服务器的SSL版本都没有问题。那么问题出在哪里呢?直到用户发出他的代码后,才发现问题所在:

python使用代理IP报错SSLError是什么原因


正确的写法是这样的:


####
proxies = {
        'http': 'http://实例ID:密码@ip:port',
        'https': 'http://实例ID:密码@ip:port'
#“用户名+密码”授权,用户名为实例ID,密码为8位数字的密码,不用MD5加密,在后台的实例管理下可以看到
    }
response = requests.get(test_url, proxies=proxies)

最后,用户在修改代码后,终于可以通过代理IP正常的访问https网站了。


立即注册站大爷用户,免费试用全部产品
立即注册站大爷用户,免费试用全部产品