import requests
spiders = requests.get('https://en.wikipedia.org/w/api.php')
print(spiders)
Mit obigem Code ich folgende Störung erhalte:kann nicht wikipedia API für den Zugriff auf durch SSL-Zertifikat Fehler
Traceback (most recent call last):
File "C:\Python\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 554, in urlopen
self._prepare_proxy(conn)
File "C:\Python\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 750, in _prepare_proxy
conn.connect()
File "C:\Python\lib\site-packages\requests\packages\urllib3\connection.py", line 252, in connect
ssl_version=resolved_ssl_version)
File "C:\Python\lib\site-packages\requests\packages\urllib3\util\ssl_.py", line 305, in ssl_wrap_socket
return context.wrap_socket(sock, server_hostname=server_hostname)
File "C:\Python\lib\ssl.py", line 376, in wrap_socket
_context=self)
File "C:\Python\lib\ssl.py", line 747, in __init__
self.do_handshake()
File "C:\Python\lib\ssl.py", line 983, in do_handshake
self._sslobj.do_handshake()
File "C:\Python\lib\ssl.py", line 628, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645)
ein Zertifikat verwendet ich noch einen Fehler:
import requests
spiders = requests.get('https://en.wikipedia.org/w/api.php',cert = 'c:\python\lib\site-packages\certifi\cacert.pem',verify = True)
print(spiders)
Traceback (most recent call last):
File "C:/Python/Files/3.py", line 3, in <module>
spiders = requests.get('https://en.wikipedia.org/w/api.php',cert = 'c:\python\lib\site-packages\certifi\cacert.pem',verify = True)
File "C:\Python\lib\site-packages\requests\api.py", line 67, in get
return request('get', url, params=params, **kwargs)
File "C:\Python\lib\site-packages\requests\api.py", line 53, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Python\lib\site-packages\requests\sessions.py", line 468, in request
resp = self.send(prep, **send_kwargs)
File "C:\Python\lib\site-packages\requests\sessions.py", line 576, in send
r = adapter.send(request, **kwargs)
File "C:\Python\lib\site-packages\requests\adapters.py", line 447, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: [SSL] PEM lib (_ssl.c:2824)
Selbst Wenn ich einige Tutorials wortgetreu befolgt habe, bin ich auf dieses Problem gestoßen, als der Kursleiter Zugriff ohne Problem hatte. Irgendwelche Ideen?
Angabe eines Zertifikats mit 'cert =' nichts mit Überprüfung der Server-Zertifikat zu tun haben. Auf diese Weise können Sie dem Remote-Server zu Authentifizierungszwecken ein SSL-Zertifikat * vorlegen *. – larsks