Ich versuche ein Skript zu schreiben und ein Teil davon muss prüfen, ob eine URL verfügbar ist oder nicht. Das Problem ist, dass, wenn ich eine Antwort zurückbekomme 200,404 usw. das Programm funktioniert gut und ich kann mit der Antwort umgehen, aber wenn die URL nicht erreichbar ist, geht das Programm in den Fehler unten. Dieser Teil des Codes ist:response = requests.get Fehler, wenn die URL nicht erreichbar ist
response = requests.get(url)
print (response)
Fehler:
Traceback (most recent call last):
File "C:\Python\lib\site-packages\requests\packages\urllib3\connection.py", line 141, in _new_conn
(self.host, self.port), self.timeout, **extra_kw)
File "C:\Python\lib\site-packages\requests\packages\urllib3\util\connection.py", line 60, in create_connection
for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
File "C:\Python\lib\socket.py", line 743, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 11001] getaddrinfo failed
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Python\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 600, in urlopen
chunked=chunked)
File "C:\Python\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 345, in _make_request
self._validate_conn(conn)
File "C:\Python\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 844, in _validate_conn
conn.connect()
File "C:\Python\lib\site-packages\requests\packages\urllib3\connection.py", line 284, in connect
conn = self._new_conn()
File "C:\Python\lib\site-packages\requests\packages\urllib3\connection.py", line 150, in _new_conn
self, "Failed to establish a new connection: %s" % e)
requests.packages.urllib3.exceptions.NewConnectionError: <requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x03EC9970>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed
Gibt es eine Abhilfe für dieses? Wenn ich das Skript einstellen kann, um eine Zeile wie URL nicht verfügbar zu drucken und existiert wird großartig.
Also nur [die Ausnahme abfangen] (https://docs.python.org/3/tutorial/errors.html#handling-exceptions)? Siehe den Abschnitt [* Fehler und Ausnahmen *] (http://docs.python-requests.org/en/master/user/quickstart/#errors-and-exceptions). Haben Sie das noch nicht gemacht? Hatten Sie Probleme herauszufinden, welche Ausnahme zu fangen ist? –
Haben Sie erwogen, die Ausnahme zu fangen und zu behandeln? – mhawke