urllib HTTPS 请求:<urlopen 错误未知 url 类型:https> [英] urllib HTTPS request: <urlopen error unknown url type: https>

查看:41
本文介绍了urllib HTTPS 请求:<urlopen 错误未知 url 类型:https>的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 python3.4 上有一个脚本,它一直很好,直到我下载文件的网站决定使用 https,现在我收到错误,但不知道如何检索文件.

I have a script on python3.4 and it has been fine until the website I download the file from decides to use https and now I am getting error but can't figure out how I can retrive the file.

我的脚本导入以下库并使用 urlretrive 之前获取文件.由于它现在通过 302 重定向转发到 https.我遇到了一些错误.

My script import the following library and uses the urlretrive to get the file previously. Since it is now forwarded to https with 302 redirection. I am getting some error.

import urllib
import urllib.request

urllib.request.urlretrieve("http://wordpress.org/latest.tar.gz", "/thefile.gz")

我的错误:-

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.4/urllib/request.py", line 178, in urlretrieve
    with contextlib.closing(urlopen(url, data)) as fp:
  File "/usr/local/lib/python3.4/urllib/request.py", line 153, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/local/lib/python3.4/urllib/request.py", line 461, in open
    response = meth(req, response)
  File "/usr/local/lib/python3.4/urllib/request.py", line 571, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/local/lib/python3.4/urllib/request.py", line 493, in error
    result = self._call_chain(*args)
  File "/usr/local/lib/python3.4/urllib/request.py", line 433, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.4/urllib/request.py", line 676, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "/usr/local/lib/python3.4/urllib/request.py", line 455, in open
    response = self._open(req, data)
  File "/usr/local/lib/python3.4/urllib/request.py", line 478, in _open
    'unknown_open', req)
  File "/usr/local/lib/python3.4/urllib/request.py", line 433, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.4/urllib/request.py", line 1257, in unknown_open
    raise URLError('unknown url type: %s' % type)
urllib.error.URLError: <urlopen error unknown url type: https>

推荐答案

很可能是您的 Python 安装或操作系统已损坏.

Most likely your Python installation or operating system is broken.

Python 仅在编译时支持 HTTPS 时才支持 HTTPS.但是,这应该是所有正常安装的默认设置.

Python has only support for HTTPS if it was compiled with HTTPS support. However, this should be the default for all sane installations.

HTTPS support is only available if the socket module was compiled with SSL support.

https://docs.python.org/3/library/http.客户端.html

请说明您是如何安装 Python 的.官方 Python 发行版可在 python.org 获得

Please clarify how you installed Python. Official Python distributions are available at python.org

这篇关于urllib HTTPS 请求:&lt;urlopen 错误未知 url 类型:https&gt;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆