Urlerror urlopen error unknown url type https

URLError: #245 Comments I am trying to run the basic earthquake data and I keep getting this error. I copy/pasted the same dataset data and for some reason it’s giving me this. There’s a lot of other error text along with it, but this is the final error message. What’s weird is if I […]

Содержание

  1. URLError: #245
  2. Comments
  3. Python Error – urllib2 URLError: urlopen error unknown url type: https [Solved]

URLError: #245

I am trying to run the basic earthquake data and I keep getting this error. I copy/pasted the same dataset data and for some reason it’s giving me this. There’s a lot of other error text along with it, but this is the final error message. What’s weird is if I run it in my Spyder IDE(3.6) it runs the code fine and pulls the data, but will not display the maps. Like wise if I just run gmaps.figure() it will display the map. Here is the code:
import gmaps
import gmaps.datasets

gmaps.configure(api_key=’AI. ‘) # Fill in with your API key( Mine is filled in with my key)

earthquake_df = gmaps.datasets.load_dataset_as_df(‘earthquakes’) This is the line that’s causing the error message

The text was updated successfully, but these errors were encountered:

if I run it in my Spyder IDE(3.6) it runs the code fine and pulls the data, but will not display the maps

I don’t know very much about Spyder, but unless it explicitly supports Jupyter widgets, that’s expected behaviour.

Regarding not downloading the earthquake data — that’s pretty strange. What version of Python are you using ( import sys; sys.version )? When you were working with Spyder, was it also on Windows?

Ah — this looks like it might be related:

Glad that works — it may have to do with firewalls, but I suspect the request isn’t even being dispatched. I expect that it’s to do with how Python is installed.

To verify whether you have HTTPS support, you can try:

If that returns an HTML document, everything’s good.

Источник

Python Error – urllib2 URLError: urlopen error unknown url type: https [Solved]

Question: I got this error urllib2.URLError: while installing packstack. After checking the program, I understood that the script is importing urllib library and uses urlretrieve function to fetch a file from https URL and it seems like the function is not able to fetch data from https URL. So I decided to edit the python script and renamed all https URL to http, but the error still remains. However the URL is valid, as I could open it successfully via web browser. Also, I have more than one version of Python installed (version 2.6 came with CentOS 6.4 and version 3.5 which was source installed), but not sure if that might be an issue. Can you help me to fix this issue?

Answer:

There are chances that the Python installation might be broken. If you need to install multiple versions of Python, then it’s important to do it in a right way, else the entire Python will break and plus the system tools such as yum, setup etc…

Before that, you should check if the Python version that’s being used for installing packstack supports HTTPS. By default, Python will not understand HTTPS until and unless it’s complied with OpenSSL support. You may need to refer this guide to compile Python with SSL support. Once you confirm that the Python is supporting HTTPS, try compiling packstack again and mostly likely the error will vanish.

Источник

Предисловие:

Об этой ошибке сообщалось при использовании Python3 в качестве эксперимента на сканере: urllib.error.URLError: <ошибка urlopen неизвестный тип URL: https>

Причина в том, что URL в коде является https

url = "https..."
req = urllib.request.Request(url, data, headers)
response = urllib.request.urlopen(req)

Поскольку встроенный в Python модуль urllib не поддерживает протокол https, и до компиляции и установки Python он не компилировал и не устанавливал библиотеки SSL, такие как openssl, поэтому Python не поддерживает SSL.

Если ваша среда уже поддерживает ssl, добавьте import ssl в ваш код и запустите.Если это не поддерживается, вам будет предложено после добавления импорта SSLModuleNotFoundError: No module named ‘_ssl’Чтобы решить эту проблему, вы можете выполнить следующие шаги:

1. Сначала установите зависимые пакеты

yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel

2. Найдите этот файл / usr / local / python / Modules /Setup.dist(Путь установки может быть разным для всех)

Раскомментируйте следующие строки:
209 SSL=/usr/local/ssl
210 _ssl _ssl.c 
211 -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl 
212 -L$(SSL)/lib -lssl -lcrypto

3. Перекомпилируйте питон

./configure --prefix=/usr/local/python
make
make install

4. Проверка (используйте без сообщения об ошибке)

Вышеупомянутый метод может решить возникшую проблему (pro-test). Если после попытки он все еще не работает, во время установки Python может возникнуть ошибка в пакете зависимостей. Иногда пакеты отсутствуют, и Python по-прежнему может использоваться, но в определенных ситуациях возникает много проблем. Именно по этой причине я потратил некоторое время раньше. После удаления используемого в настоящее время питона установите его следующим образом.

1. Установите зависимые пакеты

yum -y groupinstall "Development tools"

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

2. Загрузите сжатый пакет

wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

3. Распаковать

mkdir /usr/local/python
mv Python-3.6.2.tar.xz /usr/local/python
tar -xvJf  Python-3.6.2.tar.xz
cd Python-3.6.2

4. Компилировать

./configure --prefix=/usr/local/python
make
make install

5. Создайте мягкое соединение

ln -s /usr/local/python/bin/python3 /usr/bin/python3

Убедившись, что Python установлен правильно, используйте вышеуказанный метод.

У меня есть скрипт на python3.4, и все было хорошо, пока веб-сайт, с которого я загружаю файл, не решит использовать https, и теперь я получаю сообщение об ошибке, но не могу понять, как я могу получить файл.

Мой скрипт импортирует следующую библиотеку и использует urlretrive для получения файла ранее. Поскольку теперь он перенаправлен на https с перенаправлением 302. Я получаю ошибку

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>

5 ответов

Лучший ответ

Скорее всего, ваша установка Python или операционная система сломаны.

Python поддерживает HTTPS, только если он был скомпилирован с поддержкой HTTPS. Однако это должно быть значение по умолчанию для всех нормальных установок.

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

https://docs.python.org/3/library/http.client.html

Уточните, пожалуйста, как вы установили Python. Официальные дистрибутивы Python доступны на python.org.


20

Mikko Ohtamaa
7 Фев 2015 в 05:47

Для HTTP
люди, столкнувшиеся с ошибкой ValueError: unknown url type: 'http или ValueError: unknown url type: b'http

При открытии URL-адреса, как показано ниже, с помощью urllib.request.Request 'http://localhost/simple_form/insert.php'

Просто измените localhost на 127.0.0.1

Похоже, что метод запроса ищет domain.something в URL


0

Khalid
20 Май 2020 в 21:07

Для меня ошибка была решена путем загрузки правильной версии openssl.

Я использовал 32-разрядную версию python 3.7.5 на машине с Windows 10.

  1. перейти к https://slproweb.com/products/Win32OpenSSL.html и загрузите Win32 OpenSSL v1.1.1 час EXE | Версия установщика MSI 54MB. Я использовал 32-битный интерпретатор, так как мой интерпретатор Python был 32-битным.

  2. Установить и запустить.

Проблема исправлена ​​:)


1

Nitin Barthwal
29 Окт 2020 в 13:23

Была эта проблема, и она была решена путем обновления Python с помощью

brew upgrade python


2

Aaron Nagao
8 Май 2020 в 02:46

У меня была такая же проблема с Anaconda, но после установки пакета OpenSSL он работал хорошо.

conda install -c anaconda openssl


2

Farshad Hasanpour
1 Апр 2020 в 10:54

Понравилась статья? Поделить с друзьями:
  • Unknown or incomplete command see below for error майнкрафт
  • Unity как изменить order in layer через скрипт
  • Unity web player install now как исправить
  • Unitale mods error
  • Unicum nero сброс ошибок