网页地址:  http://caipiao.163.com/award/cqssc/20160517.html
上面这个网页是网易网站的彩票开奖页面,格式是utf-8 ,如何快速把它的源代码获取出来??谢谢。。

解决方案 »

  1.   

    注意user-agent,直接用indy的http组件可以直接获取。
      

  2.   

     //****************************获取网页源代码************
    function GetWebPage(const Url :string):string;
    var
      idp :TIdHTTP;      //uses IDHttp
    begin
      Result := '';
      idp := TIdHTTP.Create(Application);
      try
        idp.HandleRedirects := True;
        idp.Request.UserAgent := 'Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)';
        Result := Utf8ToAnsi(UTF8Decode(idp.Get(Url))); 
      finally
        FreeAndNil(idp);
      end;
    end;
    //****************************获取网页源代码************
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    memo1.Text:=getwebpage('http://caipiao.163.com/award/cqssc/20160517.html');
    end;
    为什么代码运行了之后获取不到源代码。。问题出在哪儿?请高手指点哈。。谢谢~~~
      

  3.   

    uses IdCompressorZLibEx
    //****************************获取网页源代码************
    function GetWebPage(const Url :string):string;
    var
      idp :TIdHTTP;      //uses IDHttp
    begin
      Result := '';
      idp := TIdHTTP.Create(Application);
      try
        idp.HandleRedirects := True;
        idp.Compressor:= TIdCompressorZLibEx.Create(nil);
        idp.Request.UserAgent := 'Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)';
        Result := Utf8ToAnsi(idp.Get(Url));
      finally
        FreeAndNil(idp);
      end;
    end;
    //****************************获取网页源代码************
      

  4.   

    大哥,uses IdCompressorZLibEx 是个什么包呀我在网上 下载一个IdCompressorZLibEx.pas ,运行之后老是出错。
    上面那个网页是charset=utf-8 格式。不是GB2312格式。。我的代码运行之后,只显示一个‘?’
      

  5.   

    大哥,uses IdCompressorZLibEx 是个什么包呀我在网上 下载一个IdCompressorZLibEx.pas ,运行之后老是出错。
    上面那个网页是charset=utf-8 格式。不是GB2312格式。。我的代码运行之后,只显示一个‘?’
     IdCompressorZLibEx  是indy 10自带的ZLIB组件,直接uses即可使用。
      

  6.   

    用WebBrowser 
    uses :ActiveX; function   WB_SaveHTMLCode(WebBrowser:   TWebBrowser;   const   FileName:   TFileName):   Boolean; 
    var 
       ps:   IPersistStreamInit; 
       fs:   TFileStream; 
       sa:   IStream; 
    begin 
       ps   :=   WebBrowser.Document   as   IPersistStreamInit; 
       fs   :=   TFileStream.Create(FileName,   fmCreate); 
       try 
           sa   :=   TStreamAdapter.Create(fs,   soReference)   as   IStream; 
           Result   :=   Succeeded(ps.Save(sa,   True)); 
       finally 
           fs.Free; 
       end; 
    end; function   WB_GetHTMLCode(WebBrowser:   TWebBrowser;   ACode:   TStrings):   Boolean; var 
       ps:   IPersistStreamInit;    ss:   TStringStream; 
       sa:   IStream; 
       s:   string; 
    begin 
       ps   :=   WebBrowser.Document   as   IPersistStreamInit; 
       s   :=   ' '; 
       ss   :=   TStringStream.Create(s); 
       try 
           sa   :=   TStreamAdapter.Create(ss,   soReference)   as   IStream; 
           Result   :=   Succeeded(ps.Save(sa,   True)); 
           if   Result   then   ACode.Add(ss.Datastring); 
       finally 
           ss.Free; 
       end; 
    end; procedure   TForm1.Button1Click(Sender:   TObject); 
    begin 
       WB_SaveHTMLCode(Webbrowser1,   'c:\test.txt '); 
    end; procedure   TForm1.Button2Click(Sender:   TObject); 
    begin 
       WB_GetHTMLCode(Webbrowser1,   Memo1.Lines); 
    end;
      

  7.   

    WebBrowser