Ho creato una chiave API e un utente e finora sembra tutto a posto.
Quando la provo da Postman con le credenziali corrette, restituisce immediatamente i dati come mi aspetto.
Il problema si presenta quando provo ad accedervi da qualche altra parte, oltre a Postman… come dal mio codice. Ci vogliono MINUTI per restituire una risposta, ma alla fine restituisce i dati.
Stesso problema da un terminale con questo comando:
wget --no-check-certificate --quiet \
--method GET \
--timeout=0 \
--header 'Api-Key: correct-api-key-here' \
--header 'Api-Username: <correct user name here>' \
'https://community.tenxguitar.com/c/7.json'
Comportamento identico al mio codice Python. Non credo di avere impostazioni di configurazione che possano influenzare questo aspetto (sul forum). Qualcuno può gentilmente consigliarmi o aiutarmi?
Ho provato l’opzione -4 (con cui non sono familiare) e ha funzionato immediatamente e come previsto. Poi ho provato l’opzione -v e, se ho interpretato correttamente, sembra che si tratti di un timeout SSL. Ecco l’output di -v. Puoi spiegarmi meglio l’opzione -4? Grazie! Nota: ho dovuto tagliare alcune parti a causa delle restrizioni sui link nel post.
Risoluzione di community.tenxguitar.com (community.tenxguitar.com)… 2001:470:1:59e::139, 66.220.12.139
Connessione a
()|2001:470:1:59e::139|:443… fallita: timeout della connessione.
Connessione a ()|66.220.12.139|:443… connesso.
Richiesta HTTP inviata, in attesa della risposta… 200 OK
Lunghezza: non specificata [application/json]
Salvataggio in: ‘7.json.4’
La tua macchina ha attualmente configurati sia un indirizzo IPv4 che uno IPv6, ma la connettività IPv6 è interrotta e i tentativi di connessione via IPv6 scadono.
wget (e probabilmente il tuo codice Python) prova prima IPv6, va in timeout, quindi si connette correttamente tramite IPv4. Funziona invece quando -4 forza l’uso di IPv4.
Dovrai indagare sul motivo per cui le connessioni IPv6 non funzionano sulla tua rete. Anche se falliscono immediatamente, è meglio, poiché wget saprà di provare subito tramite IPv4 invece di attendere IPv6.