Einzelnen Beitrag anzeigen

stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
379 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Problem bei Seitenabfrage über Indy

  Alt 28. Mär 2017, 15:22
Moin,

ich versuche mit Indy eine Seite aufzurufen, genauer gesagt eine Umsatzsteuer-ID über die Portalseite des Bundesamtes für Finanzen zu überprüfen und bekomme immer eine Bad Request Exception und kann nicht verstehen warum...

Die übergebene Url im Browser funktioniert so wie es soll.

Code:
 sUrllong := 'http://evatr.bff-online.de/evatrRPC?UstId_1=###agustid###&UstId_2=###customersustid###' +
 '&Firmenname=###firmenname###&Ort=###firmaort###&PLZ=###firmaplz###&Strasse=###firmastrasse###' +
 '&Druck=ja ';

 sUrlLong := StringReplace(sUrlLong,'###customersustid###',aAdressenRec.Land+aAdressenRec.ust_id_nr,[rfIgnoreCase, RfReplaceAll]);
 sUrlLong := StringReplace(sUrlLong,'###agustid###',sagustid,[rfIgnoreCase, RfReplaceAll]);

 If ShortQuery Then
  Begin
    sUrlLong := StringReplace(sUrlLong,'###firmenname###','',[rfIgnoreCase, RfReplaceAll]);
    sUrlLong := StringReplace(sUrlLong,'###firmaort###','',[rfIgnoreCase, RfReplaceAll]);
    sUrlLong := StringReplace(sUrlLong,'###firmaplz###','',[rfIgnoreCase, RfReplaceAll]);
    sUrlLong := StringReplace(sUrlLong,'###firmastrasse###','',[rfIgnoreCase, RfReplaceAll]);
  End
  else
   Begin
    sUrlLong := StringReplace(sUrlLong,'###firmenname###',aAdressenRec.Name,[rfIgnoreCase, RfReplaceAll]);
    sUrlLong := StringReplace(sUrlLong,'###firmaort###',aAdressenRec.Ort,[rfIgnoreCase, RfReplaceAll]);
    sUrlLong := StringReplace(sUrlLong,'###firmaplz###',aAdressenRec.Plz,[rfIgnoreCase, RfReplaceAll]);
    sUrlLong := StringReplace(sUrlLong,'###firmastrasse###',aAdressenRec.Strasse,[rfIgnoreCase, RfReplaceAll]);
   End;


    FormMain.Add_Debug('UST-ID Abfrage über Bundeszentralamt für Steuern ###############'+
    #13#10+sUrlLong);

   Try
     idHttp1 := TIdHTTP.Create;
     responseStream := TMemoryStream.Create;
     Screen.Cursor := crHourGlass;
    try
    IdHTTP1.Get(sUrlLong, responseStream);

    except on E: EIdException Do
      FormMain.add_info('UST Abfrage gescheitert '+E.Message);

    end;
    SetString(resultstring, PAnsiChar(responseStream.Memory), responseStream.Size);

   Finally
     idHttp1.Free;
     responseStream.Clear;
     responseStream.Free;
     Screen.Cursor := crDefault;
   End;
Nachtrag:
Leite ich die Abfrage über Fiddler als Proxy-Server, dann funktioniert es so wie es soll. Nur die direkte Abfrage knallt gegen die Wand...

Geändert von stifflersmom (28. Mär 2017 um 15:41 Uhr)
  Mit Zitat antworten Zitat