Ahoj,
mam problemy z prikazem post pro ziskani dat z nove verze ares. Prikaz get pro ziskani informace o firme na zaklace IČO funguje bez problemu.
Kdyz pouziji swagger https://ares.gov.cz/swagger-ui/#/ekonomicke-subjekty/vyhledejEkonomickeSubjekty
a zadam do rozhrani ekonomicke-subjekty/vyhledat
filtr { "start": 0, "pocet": 10, "obchodniJmeno": "Pohl s.r.o."}
dostanu funkcni json soubor s vyhledanymi 12 organizacemi
Ovsem v Delphi (verze XE 7) se mi to nedari. Mam nasledujici kod:
var http:TIdHTTP;
var LIOHandleSSL: TIdSSLIOHandlerSocketOpenSSL;
var stream: TStream;
var FiltrStream: TStringStream;
begin
stream := TMemoryStream.Create();
FiltrStream := TStringStream.Create('{ "start": 0, "pocet": 10, "obchodniJmeno": "Pohl s.r.o."}');
FiltrStream.Position := 0;
http := TIdHTTP.Create(nil);
LIOHandleSSL := TIdSSLIOHandlerSocketOpenSSL.Create(http);
LIOHandleSSL.SSLOptions.Method := sslvTLSv1_2;
LIOHandleSSL.SSLOptions.SSLVersions := [sslvTLSv1_2];
LIOHandleSSL.SSLOptions.Mode := sslmUnassigned;
LIOHandleSSL.SSLOptions.VerifyMode := [];
LIOHandleSSL.SSLOptions.VerifyDepth := 0;
http.IOHandler := LIOHandleSSL;
try
http.Post('https://ares.gov.cz/ekonomicke-subjekty-v-be/rest/ekonomicke-subjekty/vyhledat', FiltrStream, stream);
except
on e:EIdHTTPProtocolException do begin
ShowMessage(e.Message);
Exit;
end;
on e:Exception do begin
raise EUserInputException.Create('Došlo k chybě při přístupu ke službě ARES. Zkontroluje funkčnost připojení k internetu.' + e.Message);
end;
end;
end;
Post mi pada na chypu typu EIdHTTPProtocolException kde message='HTTP/1.1 500 ', a ErrorMessage='{"kod":"OBECNA_CHYBA","popis":"Content type '''' not supported"}'