Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Http-Request geht im Browser - IdHTTP-Request immer 403 Forbidden (https://www.delphipraxis.net/202741-http-request-geht-im-browser-idhttp-request-immer-403-forbidden.html)

Hobbycoder 4. Dez 2019 10:16

Http-Request geht im Browser - IdHTTP-Request immer 403 Forbidden
 
Hi,

ich versuche von api.wahrungsrechner.org oder api.cambio.today mir den aktuellen Umrechnungsfaktor für, in diesem Fall, türkische Lira zu holen.

Delphi-Quellcode:
function EurToTry(API_Key: string; var ErrorMsg: string): Double;
var
  http: TIdHTTP;
  ss: TStringStream;
  jo: TJSONObject;
  s: string;
begin
  http:=TIdHTTP.Create(nil);
  http.HandleRedirects:=True;
  ss:=TStringStream.Create;
  ErrorMsg:='';
  try
    try
      s:=TIdURI.URLEncode('http://api.cambio.today/v1/quotes/EUR/TRY/json?quantity=1&key='+API_Key); //TNetEncoding.Encode gleiche Ergebnis
      http.Get(s, ss);   //Hier Haltepunkt und Inhalt von S im Browser funktioniert
      jo:=TJSONObject.ParseJSONValue(ss.DataString) as TJSONObject;
      try
        Result:=StrToFloat(jo.GetValue('value').ToString);
        ErrorMsg:=http.ResponseText;
      finally
        if Assigned(jo) then
          jo.DisposeOf;
      end;
    except
      Result:=0;
      ErrorMsg:=http.ResponseText;
    end;
  finally
    http.Free;
    ss.Free;
  end;
end;
Ich bekomme immer "HTTP/1.1 403 Forbidden". Setze ich aber beim http.get mal eine Haltepunkt und kopiere mir den Wert in S in die Url-Eingabe des Browsers bekomme ich das passende JSON-Ergebins.

Woran könnte das liegen? Über https habe ich es auch schon probiert, genauso wie mit TNetEncoding oder auch Codierung.

hoika 4. Dez 2019 10:27

AW: Http-Request geht im Browser - IdHTTP-Request immer 403 Forbidden
 
Hallo,
vielleicht fehlt der UserAgent?

https://stackoverflow.com/questions/...ient-error-403

Antwort ganz unten.

Hobbycoder 4. Dez 2019 10:43

AW: Http-Request geht im Browser - IdHTTP-Request immer 403 Forbidden
 
Danke, daran lag's. :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz