5

Perché Google AdWords si ferma su chiamata questo link:Perché ricevo CERTIFICATE_VERIFY_FAILED da google adwords api?

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

Con questo errore - dovrei caricare qualche certificato prima e come?

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

Utilizzo di Python 2.7.10.

Il codice sorgente completo: create_adwords_client_without_yaml.py

codice di errore completa:

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

Assicurarsi che il sistema operativo sia completamente aggiornato. Potrebbero mancare i certificati pubblici di cui hai bisogno. – abraham

risposta

2

Non sono sicuro se questo è il problema qui, ma la pena di verificare esso.

Python 2.7.9 convalida del certificato abilitata per le connessioni HTTP.

Il server a cui ci si connette non ha un certificato che è considerato affidabile dal proprio client. pysphere dovrebbe configurare in modo appropriato per questo caso d'uso.

provare a fare la vostra richiesta come:

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

Posso interrompere la verifica quindi non posso usare la soluzione. So che funzionerà, ma è necessario installare certificato attendibile. – Chameleon

+0

Controllare questo [collegamento] (https://developers.google.com/adwords/api/docs/guides/authentication) quindi autorizzare l'applicazione utilizzando OAUTH 2.0. –

+1

Questo collegamento non aiuta con il problema del certificato. È una buona fonte di informazioni, ma non c'è nulla riguardo ai problemi con i certificati. Gli esempi ufficiali di Google non funzionano. – Chameleon

3

Python utilizza certificati dal 'sistema SSL archivio certificati' per certificare connessione HTTPS, se non v'è alcuna cert ssl appropriato nel negozio errore si verifica in questo modo. Scarica certificato SSL (Aprire il collegamento https nel browser e fare clic sull'icona del lucchetto nella barra degli indirizzi> Ulteriori informazioni> Visualizza certificato> dettagli> Esporta) e installarlo sul proprio sistema, come indicato questo link http://windows.microsoft.com/en-us/windows/import-export-certificates-private-keys#1TC=windows-7

0

Prova questa, mi ha aiutato :

import ssl 

ssl._create_default_https_context = ssl._create_unverified_context