5

Dlaczego Google AdWords API zatrzymuje się na wezwanie w ten link:Dlaczego otrzymuję CERTIFICATE_VERIFY_FAILED z aplikacji Google Adwords?

https://adwords.google.com/api/adwords/mcm/v201502/CustomerService?wsdl 

Z tego błędu - należy załadować jakiś certyfikat przed iw jaki sposób?

urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)> 

Korzystanie z Pythona 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:\root\Python27\lib\site-packages\googleads\adwords.py", line 256, in GetService 
    proxy=proxy_option, cache=self.cache, timeout=3600) 
    File "C:\root\Python27\lib\site-packages\suds\client.py", line 115, in __init__ 
    self.wsdl = reader.open(url) 
    File "C:\root\Python27\lib\site-packages\suds\reader.py", line 150, in open 
    d = self.fn(url, self.options) 
    File "C:\root\Python27\lib\site-packages\suds\wsdl.py", line 136, in __init__ 
    d = reader.open(url) 
    File "C:\root\Python27\lib\site-packages\suds\reader.py", line 74, in open 
    d = self.download(url) 
    File "C:\root\Python27\lib\site-packages\suds\reader.py", line 92, in download 
    fp = self.options.transport.open(Request(url)) 
    File "C:\root\Python27\lib\site-packages\suds\transport\https.py", line 62, in open 
    return HttpTransport.open(self, request) 
    File "C:\root\Python27\lib\site-packages\suds\transport\http.py", line 67, in open 
    return self.u2open(u2request) 
    File "C:\root\Python27\lib\site-packages\suds\transport\http.py", line 132, in u2open 
    return url.open(u2request, timeout=tm) 
    File "C:\root\Python27\lib\urllib2.py", line 431, in open 
    response = self._open(req, data) 
    File "C:\root\Python27\lib\urllib2.py", line 449, in _open 
    '_open', req) 
    File "C:\root\Python27\lib\urllib2.py", line 409, in _call_chain 
    result = func(*args) 
    File "C:\root\Python27\lib\urllib2.py", line 1240, in https_open 
    context=self._context) 
    File "C:\root\Python27\lib\urllib2.py", line 1197, in do_open 
    raise URLError(err) 
urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)> 
+0

Upewnij się, że system operacyjny jest w pełni zaktualizowany. Być może brakuje publicznych certyfikatów, których potrzebujesz. – abraham

Odpowiedz

2

Nie jestem pewien, czy to tu jest problem, ale warto sprawdzić ją.

Python 2.7.9 włączone domyślne sprawdzanie poprawności certyfikatu dla połączeń HTTP.

Serwer, z którym się łączysz, nie ma certyfikatu zaufanego przez klienta. pysphere powinna odpowiednio skonfigurować SSL dla tego przypadku użycia.

Spróbuj dokonywania prośbę jak:

requests.get('https://adwords.google.com/api/adwords/mcm/v201502/CustomerService?wsdl', verify=False) 
+0

Mogę przerwać weryfikację, więc nie mogę użyć Twojego rozwiązania. Wiem, że to zadziała, ale musi zainstalować zaufany certyfikat. – Chameleon

+0

Sprawdź to [link] (https://developers.google.com/adwords/api/docs/guides/authentication), a następnie autoryzuj swoją aplikację za pomocą OAUTH 2.0. –

+1

Ten link nie pomaga w przypadku problemu z certyfikatem. To dobre źródło informacji, ale nic o problemach z certyfikatami. Oficjalne przykłady Google nie działają. – Chameleon

3

Python używa certyfikatów z magazynu certyfikatów systemu „ssl” Zaświadcza połączenie HTTPS, jeśli nie ma żadnych odpowiednie cert ssl w sklepie pojawia się błąd jak ten. 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 swoim systemie, zgodnie z linkiem http://windows.microsoft.com/en-us/windows/import-export-certificates-private-keys#1TC=windows-7

0

Wypróbuj, pomógł mi :

import ssl 

ssl._create_default_https_context = ssl._create_unverified_context 
Powiązane problemy