urllib.error.URLError: <urlopen error unknown url type: 'https>

(Python 3.4.2) Beim Ausführen von 'urllib.request.urlopen (url)' in einem Skript ist ein seltsamer Fehler aufgetreten. Wenn ich es direkt im Python-Interpreter ausführe, funktioniert es einwandfrei, aber nicht, wenn ich es in einem Skript über eine Bash-Shell (Linux) ausführe.

Ich vermute, es hat etwas mit der 'url'-Zeichenkette zu tun, vielleicht weil ich die Zeichenkette mit der' string.join'-Methode erstelle.

import urllib.request
url = "".join((baseurl, other_string, midurl, query))
response = urllib.request.urlopen(url)

Die 'url'-Zeichenfolge wird perfekt gedruckt, aber wenn ich versuche, die' response'-Zeichenfolge zu erstellen, erhalte ich die folgende Ausgabe:

File "./script.py", line 124, in <module>
    response = urllib.request.urlopen(url)
  File "/usr/lib/python3.4/urllib/request.py", line 153, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.4/urllib/request.py", line 455, in open
    response = self._open(req, data)
  File "/usr/lib/python3.4/urllib/request.py", line 478, in _open
    'unknown_open', req)
  File "/usr/lib/python3.4/urllib/request.py", line 433, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.4/urllib/request.py", line 1244, in unknown_open
    raise URLError('unknown url type: %s' % type)
urllib.error.URLError: <urlopen error unknown url type: 'https>

Python wurde mit SSL-Unterstützung auf meinem Computer kompiliert (diese Befehle funktionieren im Python-Interpreter perfekt).

Ich habe auch versucht, den String 'url' mit 'repr (url)' und 'str (url)' zu umschließen. Ich habe es auch versucht:

url = "".join(("'", baseurl, other_string, midurl, query, "'"))

Weiß jemand, was los ist?

-----BEARBEITEN----
Ich habe es herausgefunden. Meine URL hatte ein ":" und ich denke, dass Urllib das nicht gefallen hat. Ich habe es durch "% 3A" ersetzt und jetzt funktioniert es.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage