내가 내가 할 때 idhtp1.GET 를 사용하여 웹 페이지에서 일부 데이터를 반환한다 달성하기 위해 노력하고있어 : 내가 그것을 완벽하게 작동idHTTP 반환 오류
sGeo := RemoveWhiteSpace('http://www.robin-william.net/Osiris/geo.php?ip=IPHERE');
redt1.Lines.Add(idhtpGeo.Get(sGeo));
하지만, 일단 이 :
sGeo := RemoveWhiteSpace('http://www.robin-william.net/Osiris/geo.php?ip=' + sData);
(추가 된 sData) 오류 DOCTYPE html을 제공합니다. 여기
소스의 일부입니다procedure TfrmMap.GetGeo(sData : string);
begin
try
idhtpGeo.ConnectTimeout := 5000;
idhtpGeo.HandleRedirects := True;
sGeo := RemoveWhiteSpace('http://www.robin-william.net/Osiris/geo.php?ip=' + sData);
redt1.Lines.Add(sGeo);
redt1.Lines.Add(idhtpGeo.Get(sGeo));
except
MessageDlg('Failed to load Geo Data!', mtError, [mbOK], 0);
end;
end;
sData로 그냥 IP입니다. SynaCode 장치를 사용하여 URL (sGeo)을 인코딩하려고 시도했지만 오류가 발생하지 않았지만 반환되는 데이터가 올바르지 않습니다.
http://www.robin-william.net/Osiris/geo.php?ip=88.106.170.45%0A
어떤 도움을 크게 감상 할 수 다음과 같이
인코딩 된 URL 보인다.
사용중인 Indy의 버전은 무엇입니까? 최신 Indy 10 SVN 스냅 샷을 사용하여 문제를 재현 할 수 없습니다. 'Get()'은 IP 매개 변수가 잘못된 경우에도 성공적으로 반환됩니다. 에러가 발생했다하더라도,''은 예외의'Message' 속성 (디버거 알림이 표시 함)에 있어서는 안되며, 디버거 알림 대신에 예외의'ErrorMessage' 속성에 있어야합니다 표시하지 않음). –
만약 내가 indy를 사용하여 메신저를 오해하지 않는다면. 예, 표시된 메시지가 이상합니다. Googleing을 시도했지만 결과가 없습니다. 그러나 문제는 sData가 손질되어야한다는 것입니다. – ddvniek
Indy가 없습니다. 7. Delphi 6은 Indy 8과 함께 제공되었습니다 (Delphi 7과 함께 제공되는 Indy의 버전을 잊어 버렸습니다). 8시 이전에는 Indy가 대신 WinShoes로 알려졌습니다. –