Ein Client versucht, Informationen von einer Website eines Drittanbieters abzurufen.Er kann sich auf der Website anmelden und (mit dem entsprechenden API-Schlüssel) manuell auf die gewünschten Informationen zugreifen.
Er hat ein Skript geschrieben, das die Zeichenfolge (einschließlich API-Schlüssel und verschiedener Suchparameter) zusammensetzt, die an die Website gesendet werden muss.
Er kann den String kopieren / in den Browser einfügen und er gibt die Daten wie erwartet zurück.
Aber wenn er so etwas macht wie:
request = New HTTP Request( Url( strg ), Method( "GET" ) );
data = request << Send;
(wobei "strg" die Zeichenfolge ist, die die Beschreibung der Anforderung enthält), gibt "data" eine Nachricht zurück, die besagt, dass er nicht berechtigt ist, die Anforderung zu stellen, als wäre er nicht auf der Site angemeldet.
Also ... weiß jemand, ob dies ein Authentifizierungsproblem mit der Site ist?Oder vielleicht eine Browsereinstellung, die den Zugriff von JSL verhindert?(Zu Ihrer Information haben wir sowohl Edge als auch Chrome ausprobiert.)
Vielen Dank!
In diesem Hinweis wird davon ausgegangen, dass Sie sich bei Chrome und Edge separat anmelden müssen.
Stellen Sie sich JMP als dritten Browser vor. Auf der Website wurde ein Client angemeldet (Chrome) und konnte dann gut mit Chrome zusammenarbeiten.Auf der Website wurde ein zweiter Client angemeldet (Edge), der dann gut mit Edge zusammenarbeiten konnte.Auf der Website wurde jedoch nie ein dritter Client angemeldet (JMP).
Ich glaube, Sie benötigen eine HTTP-Anfrage, die sich anmeldet, vor der Anfrage, bei der Sie nach Daten fragen.
Ich bin auf Situationen gestoßen, in denen der Schlüssel nicht als Teil der URL, sondern über ein separates Argument angezeigt wird. Mir fällt da die Web Services API der NOAA ein . Wenn man sich die Beispiele ansieht, scheinen nur die Basis-URL und der Endpunkt angegeben zu sein. Kein Platz für einen Schlüssel.