我想通过网址获取一个网页的源码(不需要显示网页)
使用了WebBrowser组件现在的问题是我用WebBrowser打开有些页面会弹出广告窗口请问有什么办法仅仅获得源码,而不执行网页里的script

解决方案 »

  1.   

    uses IdHTTP;
    {$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      url:string;
      IdHTTP:TIdHTTP;
      stream:TMemoryStream;
    begin
      url:='http://www.tom.com';
      IdHTTP:=TIdHTTP.Create(nil);
      stream:=TMemoryStream.Create;
       try
          IdHTTP.get(url,stream);
          stream.SaveToFile('F:\1.html');//1.html就是
       finally
         stream.Free;
         IdHTTP.Free ;
       end;
    end;
      

  2.   

    谢谢楼上的建议
    我试过用IdHTTP,可以获得源码,但有个问题是IdHTTP.get操作要等源码出来后才能执行其他操作,如果一个网站反应比较慢,要等好长时间
      

  3.   

    procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
      var ppDisp: IDispatch; var Cancel: WordBool);
    begin
      Cancel:=true;
    end;