最近有好几个用户在通过python使用代理IP时报了这样的错误:“Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:997)')))”,究竟是什么原因呢?
一开始用户以为是短效优质代理IP不支持https协议,因为访问http网站是正常的,访问https网站就报上面那个错误。在得到客服再三的肯定回复支持https协议后,又怀疑是ssl版本的问题,毕竟错误提示是“WRONG_VERSION_NUMBER”,翻译过来是“错误的版本号”,是哪里的版本不对呢?是客户端的SSL版本不对,还是代理服务器的SSL版本不对呢?
用户客户端不使用代理IP可以正常访问https网站,客服测试代理IP也可以访问https网站,这说明不论是用户的客户端还是代理服务器的SSL版本都没有问题。那么问题出在哪里呢?直到用户发出他的代码后,才发现问题所在:
正确的写法是这样的:
#### proxies = { 'http': 'http://实例ID:密码@ip:port', 'https': 'http://实例ID:密码@ip:port' #“用户名+密码”授权,用户名为实例ID,密码为8位数字的密码,不用MD5加密,在后台的实例管理下可以看到 } response = requests.get(test_url, proxies=proxies)
最后,用户在修改代码后,终于可以通过代理IP正常的访问https网站了。