目前只知道IDHttp可以检测,但是这个控件不是很会用,我用idHttp.get(网址)    IdHTTP1.HandleRedirects := True;
  try
    IdHTTP1.ReadTimeout:=5000;
    s:=IdHTTP1.Get(Edit1.Text);
    Memo1.Lines.Add('网页打开成功');
  except
    Memo1.Lines.Add('无法打开网页:'+Edit1.Text);
  end;
很多网站都无法取得数据,我想可能是我设置的ReadTimeOut时间不够长,而他取得的是整个网页的代码,这个过程需要不少的时间,所以经常过了ReadTimeOut设置的时间,仍然无法全部取得网页代码,所以就提示打不开了。。我想问问还有其他的方法吗?或者说其他的控件也行,我领导让我做一个快速检测网站是否能打开的,他说idhttp太慢了而我暂时性找不到好点的。。所以暂时将就先用idhttp做个,如果有更好的,谢谢推荐

解决方案 »

  1.   


    返回值:
    0:网络正常且能正常URL;
    1:网络正常不能访问URL;
    2:网络不正常。
    function CheckOffline(URL: string): Integer;
    var
      dwFlag: DWORD;
    begin
      Result := 0;
      if InternetGetConnectedState(@dwFlag, 0) then
      begin
        if not InternetCheckConnection(PChar(URL), 1, 0) then Result := 1;
      end
      else
        Result := 2;
    end;可以试试
      

  2.   

    To: m617105弱弱的问句InternetGetConnectedStateInternetCheckConnection这两个是控件吗?啥控件?或者要调用什么单元?
      

  3.   

    系统API函数
    uses WinInet;