La richiesta HTTP restituisce html anziché jsonCiao
Ho provato a richiedere JSON da un'API utilizzando il seguente script:
request_neu = New HTTP Request(
URL( "https://redacted.com/api/path?fileType=Json" ),
Method( "GET" ),
//headers( {"Accept: text/plain", "Accept: text/html", "Accept: */*"} ),
//headers( {"Accept: */*"} ),
//I tried everything here
Headers( {"Accept: application/json"} ),
Username( "api.user" ),
Password( "redacted" ),
Timeout( 900000 )
);
response = request_neu << send;
show(request_neu << get mime type);
show(request_neu << get status);
show(request_neu << get status message);
show(substr(response,1,999));
JSON to data table(response);Ho aggiunto le istruzioni di debug dopo che la funzione JSON nella tabella dati ha generato un errore e l'output lo è
request_neu << get mime type = "text/html; charset=utf-8";
request_neu << get status = 200;
request_neu << get status message = "HTTP/1.1 200 OK";
Substr(response, 1, 999) = "
etc
quindi essenzialmente invece di JSON ricevo html.
La cosa interessante è che funziona con Postman, Python e persino Excel.
La cosa veramente interessante è che alcuni mesi fa, quando ho creato questo script, funzionava anche lui.
Hai idea di cosa sta succedendo qui?
grazie
Accesso ai datiRi: La richiesta HTTP restituisce html anziché jsonHai provato a vedere cosa contiene l'HTML? Potresti ad esempio salvarlo come pagina .html usando Save Text File()
Non vedo subito nulla di sbagliato nella tua sintassi, di seguito è riportato un esempio leggermente modificato dall'indice di scripting
Names Default To Here(1);
request = New HTTP Request(
url("http://httpbin.org/get"),
Method("GET"),
Headers({"Accept: application/json"}),
Username("ross"),
Password("Abc123"),
);
data = request << Send;
Show(request << get response headers, request << get last url);
Ri: La richiesta HTTP restituisce html anziché jsonQuando ho guardato l'HTML, sembra simile alla pagina web della piattaforma, tranne per il fatto che i relativi collegamenti sono interrotti.
Temo che dovrò confrontarmi con i responsabili della piattaforma poiché l'errore sembra provenire da lì.
Ri: La richiesta HTTP restituisce html anziché json"Accetta: application/json" è solo un suggerimento per il servizio Web sul tipo di risposta che desideri venga restituita.
I servizi Web sono completamente liberi di ignorarlo.
Si tratta di un servizio Web esterno o sviluppato "internamente" se "internamente", ti consigliamo di parlare con lo sviluppatore della restituzione dei dati JSON quando richiesto da un cliente.
Se esterno, puoi pubblicare il documento API?
Re: La richiesta HTTP restituisce html invece di jsonTutto bene?