JS 아약스 응답과 비슷한 델파이 IdHTTP에서 어떻게 응답 텍스트를 얻을 수 있습니까? 페이지 내용을 포함하는 표준 responseText 속성이 있으며 IdHTTP에는 responseCode 속성이 있지만 HTTP 상태 코드를 나타냅니다.델파이 IdHTTP 응답 텍스트
예를 들어, JS ajax 응답에는 statusCode 및 responseText가 있습니다 (이미지 참조). XMLHttpRequest
에서
JS 아약스 응답과 비슷한 델파이 IdHTTP에서 어떻게 응답 텍스트를 얻을 수 있습니까? 페이지 내용을 포함하는 표준 responseText 속성이 있으며 IdHTTP에는 responseCode 속성이 있지만 HTTP 상태 코드를 나타냅니다.델파이 IdHTTP 응답 텍스트
예를 들어, JS ajax 응답에는 statusCode 및 responseText가 있습니다 (이미지 참조). XMLHttpRequest
에서
좋아, 결국 해결책을 찾았습니다. 내가 시도 ... 캐치 연산자와 EIdHTTPProtocolException를 사용하는 것을 얻으려면 :
내 질문에 처음 불분명 경우try
Result := id_http.Post(url, params);
except
on E: EIdHTTPProtocolException do
if (id_http.ResponseCode = 400) then
Result := E.ErrorMessage
else
Result := E.Message;
end;
죄송합니다.
responseText
TIdHTTP.Get
로 전화하면이 콘텐츠를 얻을 수있는 몇 가지 방법이 있습니다. 가장 쉬운 콘텐츠 유형에 따라
var
ResponseText: String;
begin
ResponseText := IdHTTP1.Get('www.google.com');
...
end;
, 당신은 어떤 채울 수있는 예를 하나 들면,
Get
의 다른 오버로드 중 하나를 사용하실 수 있습니다 ... 단지
String
으로
Get
함수의 결과를 읽는 것입니다 a
TStream
.
예, TIdHTTP.Get() 오버로드를 사용하여 JSON 컨텐츠를 먼저 다운로드해야합니다. 그런 다음 JSON을 구문 분석하여 'status'및 'responseText' 값을 추출 할 수 있습니다. –
이것은 일반 요청시 0을 반환하고 오류시 음수를 반환하는 맞춤 API의 repsonse 코드입니다. – Ariakas
질문 : 답변에서 전체 콘텐츠에 액세스하는 방법을 묻고 있습니까? 또는 서버에서받은이 JSON을 구문 분석하는 방법을 묻는 중입니까? '-1'이 * 전체 * 내용을 받았습니까? 또는 JSON 객체가 * 전체 * 컨텐츠입니까? –
JSON은 JS에서 아약스를 사용하여 얻은 응답의 예일뿐입니다. 델파이의 ResponseText에는 'HTTP/1.1 400 잘못된 웹 API 키'문자열이 포함되어 있습니다. Ajax의 responseText에는 '-1'이 포함되어 있습니다. 나는 델파이에서 '-1'을 얻을 필요가있다. – Ariakas