我正在使用Python 2.6.6,并且在通过https与urllib.request.build_opener(...).open(request)
连接时出现错误
urlopen error [Errno 1] _ssl.c:504: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error
我发现TLS SNI存在问题,这是在2.7.9版本中添加的。我尝试了pyOpenSSL(只是将它复制到我的* .py脚本目录中)但没有成功。
不幸的是我没有root访问权限,因此无法升级python或安装任何软件包。我可以在我的主目录中安装'python 2.7.9并运行该版本的脚本吗?
答案 0 :(得分:1)
假设您的服务器安装了可以使用的编译器(GCC),则可以安装任何Python版本。
Download Python source code here。应用基本的UNIX命令知识下载Gzip存档并将其解压缩到主持有者的文件夹中。 Follow instructions to compile Python
请注意,服务器必须安装了必需的OpenSSL库,否则您将无法获得SSL支持。如果你需要从头开始引导整个堆栈(所有库,编译器等),这是不可行的,在这种情况下,我建议你转移到另一个服务器提供商。
另见:
https://serverfault.com/questions/353128/recompiling-python-with-ssl-support-on-ubuntu