Registriert seit: 8. Dez 2005
Ort: 24994 Holt
379 Beiträge
Delphi 10.2 Tokyo Professional
|
Problem bei Seitenabfrage über Indy
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)
|