Dlaczego Google AdWords API przestaje nazywać ten link:
https://adwords.google.com/api/adwords/mcm/v201502/CustomerService?wsdl
Z tym błędem - czy powinienem wcześniej załadować jakiś certyfikat i jak?
urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>
Korzystanie z Python 2.7.10.
Pełny kod źródłowy: create_adwords_client_without_yaml.py
Pełny kod błędu:
Traceback (most recent call last):
File "C:/Users/Crezary Wagner/PycharmProjects/learn-adwords/src/examples/create_adwords_client_without_yaml.py", line 56, in <module>
CLIENT_CUSTOMER_ID)
File "C:/Users/Crezary Wagner/PycharmProjects/learn-adwords/src/examples/create_adwords_client_without_yaml.py", line 50, in main
customer = adwords_client.GetService("CustomerService").get()
File "C:rootPython27libsite-packagesgoogleadsadwords.py", line 256, in GetService
proxy=proxy_option, cache=self.cache, timeout=3600)
File "C:rootPython27libsite-packagessudsclient.py", line 115, in __init__
self.wsdl = reader.open(url)
File "C:rootPython27libsite-packagessudsreader.py", line 150, in open
d = self.fn(url, self.options)
File "C:rootPython27libsite-packagessudswsdl.py", line 136, in __init__
d = reader.open(url)
File "C:rootPython27libsite-packagessudsreader.py", line 74, in open
d = self.download(url)
File "C:rootPython27libsite-packagessudsreader.py", line 92, in download
fp = self.options.transport.open(Request(url))
File "C:rootPython27libsite-packagessudstransporthttps.py", line 62, in open
return HttpTransport.open(self, request)
File "C:rootPython27libsite-packagessudstransporthttp.py", line 67, in open
return self.u2open(u2request)
File "C:rootPython27libsite-packagessudstransporthttp.py", line 132, in u2open
return url.open(u2request, timeout=tm)
File "C:rootPython27liburllib2.py", line 431, in open
response = self._open(req, data)
File "C:rootPython27liburllib2.py", line 449, in _open
"_open", req)
File "C:rootPython27liburllib2.py", line 409, in _call_chain
result = func(*args)
File "C:rootPython27liburllib2.py", line 1240, in https_open
context=self._context)
File "C:rootPython27liburllib2.py", line 1197, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>
Odpowiedzi:
3 dla odpowiedzi № 1Python używa certyfikatów z „systemowego ssl”magazyn certyfikatów ”, aby potwierdzić połączenie https, jeśli w sklepie nie ma żadnego odpowiedniego certyfikatu ssl, wystąpi błąd. Pobierz certyfikat ssl (otwórz link https w przeglądarce i kliknij ikonę kłódki w pasku adresu> Więcej informacji> Wyświetl certyfikat> Szczegóły> Eksportuj) i zainstaluj go w systemie zgodnie z tym linkiem http://windows.microsoft.com/en-us/windows/import-export-certificates-private-keys#1TC=windows-7
2 dla odpowiedzi nr 2
Nie jestem pewien, czy to jest tutaj problem, ale warto to sprawdzić.
Python
2.7.9 domyślnie włączono sprawdzanie poprawności certyfikatu dla HTTP
znajomości.
Serwer, z którym się łączysz, nie ma certyfikatu zaufanego przez twojego klienta. Pysphere powinien się skonfigurować SSL
odpowiednio do tego przypadku użycia.
Spróbuj złożyć zapytanie:
requests.get("https://adwords.google.com/api/adwords/mcm/v201502/CustomerService?wsdl", verify=False)
0 dla odpowiedzi № 3
Spróbuj, pomogło mi to:
import ssl
ssl._create_default_https_context = ssl._create_unverified_context