HTTP-Anfrage gibt HTML statt JSON zurückHallo
Ich habe versucht, mit dem folgenden Skript JSON von einer API anzufordern:
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);Ich habe die Debug-Anweisungen hinzugefügt, nachdem die Funktion „JSON in Datentabelle“ einen Fehler ergab und die Ausgabe ist
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
also erhalte ich im Wesentlichen HTML anstelle von JSON.
Das Interessante ist, dass es mit Postman, Python und sogar Excel funktioniert.
Das wirklich Interessante ist, dass dieses Skript vor einigen Monaten auch funktionierte, als ich es erstellt habe.
Haben Sie eine Ahnung, was hier vor sich geht?
Danke
DatenzugriffBetreff: HTTP-Anfrage gibt HTML statt JSON zurückHaben Sie versucht, herauszufinden, was das HTML enthält? Sie können es beispielsweise mit Save Text File() als HTML-Seite speichern.
Ich sehe auf den ersten Blick nichts Falsches in Ihrer Syntax, unten finden Sie ein leicht modifiziertes Beispiel aus dem Skriptindex
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);
Betreff: HTTP-Anfrage gibt HTML statt JSON zurückAls ich mir das HTML angesehen habe, sah es ähnlich aus wie die Webseite der Plattform, außer dass die relativen Links defekt sind.
Ich fürchte, ich muss mit den Verantwortlichen der Plattform sprechen, denn der Fehler scheint dort zu liegen.
Betreff: HTTP-Anfrage gibt HTML statt JSON zurück„Accept: application/json“ ist lediglich ein Hinweis an den Webdienst, welche Art von Antwort Sie zurückerhalten möchten.
Webdienste können es völlig ignorieren.
Handelt es sich hierbei um einen externen oder intern entwickelten Webdienst? Wenn ja, sollten Sie mit dem Entwickler über die Rückgabe von JSON-Daten auf Anforderung eines Clients sprechen.
Wenn extern, können Sie das API-Dokument posten?
Betreff: HTTP-Anfrage gibt HTML statt JSON zurückAlles gut?