ondata / guida-api-istat

Guida all'uso delle API REST di ISTAT
https://ondata.github.io/guida-api-istat
Creative Commons Attribution Share Alike 4.0 International
28 stars 4 forks source link

Adattare script per feed RSS a IstatData #17

Open aborruso opened 1 year ago

aborruso commented 1 year ago

L'elennco dei dataset disponibili è qui

curl 'https://esploradati.istat.it/databrowserhub/nodes/1/catalog' \
  -H 'Accept: application/json, text/plain, */*' \
  -H 'Accept-Language: it-IT,en;q=0.9,it;q=0.8' \
  -H 'Authorization: undefined' \
  -H 'Connection: keep-alive' \
    -H 'Referer: https://esploradati.istat.it/databrowser/' \
  -H 'Sec-Fetch-Dest: empty' \
  -H 'Sec-Fetch-Mode: cors' \
  -H 'Sec-Fetch-Site: same-origin' \
  -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36' \
  -H 'UserLang: it' \
  -H 'sec-ch-ua: "Google Chrome";v="107", "Chromium";v="107", "Not=A?Brand";v="24"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "Windows"' \
  --compressed

Output esempio https://gist.github.com/aborruso/d57cf2f11485492b3d623dbddf2dcfe7

sandrokensan commented 1 year ago

Solo a me capita che copiando il comando mi dia:

curl: (35) OpenSSL/3.0.8: error:0A000152:SSL routines::unsafe legacy renegotiation disabled ?

Pare che curl ma anche wget usi le librerie SSL nella versione 3.0 e il server dell'ISTAT non è aggionato da molto tempo per cui la rinegoziazione non va a buon fine:

https://github.com/curl/curl/issues/8943

Da browser funziona senza errori ma da Curl anche se il comando sopra tenta di emulare il browser mi da il soprastante errore.

aborruso commented 1 year ago

Solo a me capita che copiando il comando mi dia:

curl: (35) OpenSSL/3.0.8: error:0A000152:SSL routines::unsafe legacy renegotiation disabled ?

Ciao @sandrokensan , a me restituisce l'output corretto. La mia version di curl è la 7.87.0.

E mi funzionano senza problemi anche wget e httpie.

image

sandrokensan commented 1 year ago

Grazie per la veloce risposta.

Confermo che adesso funziona sia il curl soprastante che da linea di comando il: $ wget https://esploradati.istat.it/databrowserhub/nodes/1/catalog

Stranamente ieri notte non mi funzionava. Invece provando dal mio server da PHP funzionava con:

$ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERAGENT, $agent); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json')); $result=curl_exec($ch); //var_dump($result); echo $result;

Penso che anche semplifincando il curl sullo script non ci siano problemi, farò delle prove.