Ist es vielleicht möglich mit der IdHTTP Compo den Quelltext der fehlermeldenden Seite auszugeben anstatt der
Exception?
Ja, zum Beispiel wie hier:
https://mikejustin.wordpress.com/201...-6-https-post/
Bei einer EIdHTTPProtocolException steht der
HTML Body in ErrorMessage.
Delphi-Quellcode:
program JSONPostExample;
{$APPTYPE CONSOLE}
uses
IdHTTP, IdGlobal, SysUtils, Classes;
var
HTTP: TIdHTTP;
RequestBody: TStream;
ResponseBody:
string;
begin
HTTP := TIdHTTP.Create;
try
try
RequestBody := TStringStream.Create('
{"日本語":42}',
TEncoding.UTF8);
try
HTTP.Request.Accept := '
application/json';
HTTP.Request.ContentType := '
application/json';
ResponseBody := HTTP.Post('
https://httpbin.org/post',
RequestBody);
WriteLn(ResponseBody);
WriteLn(HTTP.ResponseText);
finally
RequestBody.Free;
end;
except
on E: EIdHTTPProtocolException
do
begin
WriteLn(E.
Message);
WriteLn(E.ErrorMessage);
end;
on E:
Exception do
begin
WriteLn(E.
Message);
end;
end;
finally
HTTP.Free;
end;
ReadLn;
ReportMemoryLeaksOnShutdown := True;
end.