Delphi 2007 코드에서 인증 토큰을 얻으려고 보안 웹 서비스에 게시하고 있습니다. 우편 배달부 또는 .net 언어로 된 요청은 모두 잘 작동합니다. 하지만 델파이 2007을 사용하여이 WS에 접근 할 필요가 ... 그럼이 코드를 만들어 :이 코드는 아주 잘 작동TIdHttp POST는 json이 예상되는 XML 만 반환합니다.
var
IdHTTP1 : TIdHTTP;
LHandler: TIdSSLIOHandlerSocketOpenSSL;
jsonSend : TStringStream;
SourceString, RetString : String;
begin
SourceString := '{"MyJsonStuff": "blabla"'}';
try
IdHTTP1:=TIdHTTP.Create(nil);
//IdHTTP1.Request.Charset := 'utf-8';
//IdHTTP1.HandleRedirects := True;
IdHTTP1.Request.ContentType := 'application/json';
try
LHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
LHandler.SSLOptions.Method := sslvSSLv23;
try
IdHTTP1.IOHandler:=LHandler;
jsonSend := TStringStream.Create(SourceString);
RetString := IdHTTP1.Post('myUrl', jsonSend));
jsonSend.free;
except
end;
LHandler.Free;
finally
IdHTTP1.Free;
end;
except
end;
end;
, 그러나 예상대로 RetString합니다 (WS 응답)하지 JSON에서, XML 형식으로되어 . 누군가가 이것을 도와 줄 수 있기를 바랍니다. XML을 구문 분석하고 싶지는 않습니다. 도움을 주셔서 감사합니다!
빠른 응답을 보내 주셔서 감사합니다. 이미 WS가 JSON 만 사용하여 응답하도록했습니다 ...하지만이 방법은 약간 추한 것 같습니다. 나는 당신의 제안을 시도 할 것입니다. – ful03