您现在的位置: PQ秀秀网 >> PQ知道 >> 正文 用户登录 新用户注册
急~~我想获得一个指定网页的HTML源代码应该怎么写?在线等! Web 开发 / ASP
作者:佚名    文章来源:不详    点击数:加载中...    更新时间:2008-7-9 字体:[ ]
添加到收藏: 添加到百度收藏  收藏到QQ书签  添加到雅虎收藏  添加到新浪ViVi  添加到天极网摘  添加到和讯网摘

急~~我想获得一个指定网页的HTML源代码应该怎么写?在线等!

楼主rebacca1620(绮罗)2006-12-27 17:22:27 在 Web 开发 / ASP 提问

如题,根据网址来获得某一网页的HTML源代码,不用iframe能实现吗?怎么作?请高人指教了! 问题点数:20、回复次数:8Top

1 楼happynet(快乐数据)回复于 2006-12-27 17:42:29 得分 15

Function   Gethttppage(Path)  
    T   =   Getbody(Path)  
    Gethttppage=Bytestobstr(T,"Gb2312")  
    End   Function  
    '   首先,进行小偷程序的一些初始化设置,以上代码的作用分别是忽略掉所有非致命性错误,把小偷程序的运行超时时间设置得很长(这样不会出现运行超时的错误),转换原来默认的utf-8编码转换成gb2312编码,否则直接用xmlhttp组件调用有中文字符的网页得到的将是乱码。  
    Function   Getbody(Url)    
    Set   Retrieval   =   Createobject("Microsoft.Xmlhttp")    
    With   Retrieval    
    .Open   "Get",   Url,   False,   "",   ""    
  .Send    
  Getbody   =   .Responsebody  
  End   With    
  Set   Retrieval   =   Nothing    
  End   Function  
   
  '===========================================================================  
   
  '然后调用xmlhttp组件创建一个对象并进行初始化设置。  
   
  Function   Bytestobstr(Body,Cset)  
  Dim   Objstream  
  Set   Objstream   =   Server.Createobject("Adodb.Stream")  
  Objstream.Type   =   1  
  Objstream.Mode   =3  
  Objstream.Open  
  Objstream.Write   Body  
  Objstream.Position   =   0  
  Objstream.Type   =   2  
  Objstream.Charset   =   Cset  
  Bytestobstr   =   Objstream.Readtext    
  Objstream.Close  
  Set   Objstream   =   Nothing  
  End   Function  
  Gethttppage(Url)Top

2 楼rebacca1620(绮罗)回复于 2006-12-27 17:47:56 得分 0

不太明白楼上的代码。。。。。。。。。。。。。。。  
   
  我的返回值是什么呢?Top

3 楼hanpoyangtitan(韩波洋)回复于 2006-12-27 20:39:57 得分 5

response.write   gethttppage(url)  
  ================  
  使用asp   代理     trojan.download.vbsTop

4 楼rebacca1620(绮罗)回复于 2006-12-28 09:31:10 得分 0

谢谢楼上,明白了。Top

5 楼zhanghongwen(流氓蚊子)回复于 2006-12-28 11:52:46 得分 0

用二进制流读取.Top

6 楼zhanghongwen(流氓蚊子)回复于 2006-12-28 11:54:26 得分 0

<%  
    '返回匹配值  
    Function   RegExp_Execute(patrn,   strng)  
          On   Error   Resume   Next  
          Dim   regEx,   Match,   Matches,values   '建立变量。  
          Set   regEx   =   New   RegExp   '建立正则表达式。  
          regEx.Pattern   =   patrn   '设置模式。  
          regEx.IgnoreCase   =   true   '设置是否区分字符大小写。  
          regEx.Global   =   True   '设置全局可用性。  
          Set   Matches   =   regEx.Execute(strng)   '执行搜索。  
          For   Each   Match   in   Matches   '遍历匹配集合。  
                  values=values&Match.Value&"|||"  
          Next  
          RegExp_Execute   =   values  
  Err.clear()  
    End   Function  
  '保存图片  
  function   saveimage(from,tofile)  
          On   Error   Resume   Next  
          On   Error   Resume   Next  
          dim   geturl,objStream,imgs  
          geturl=trim(from)  
          imgs=getHTTPPage(geturl)'取得图片的具休内容的过程  
          Set   objStream   =   Server.CreateObject("ADODB.Stream")'建立ADODB.Stream对象,必须要ADO   2.5以上版本  
  With   objStream  
  .Type   =1'以二进制模式打开  
          .open()  
          .write   (imgs)'将字符串内容写入缓冲  
          .SaveToFile   sitepath&tofile,2'-将缓冲的内容写入文件  
          .Close()'关闭对象  
  End   With  
          set   objstream=nothing  
  Err.clear()  
  end   function  
   
  '取得图片内容  
  function   getHTTPPage(url)  
      on   error   resume   next  
      dim   http  
      set   http=server.createobject("Microsoft.XMLHTTP")'使用xmlhttp的方法来获得图片的内容  
      With   http  
      .open   "GET",url,false  
      .send()  
      End   With  
      if   Http.readystate<>4   then    
      exit   function  
      end   if  
      getHTTPPage=Http.responseBody  
      set   http=nothing  
      if   err.number<>0   then   err.Clear    
       
  end   function  
  %>  
   
  参考一下Top

7 楼shine333(enihs)回复于 2006-12-28 11:56:29 得分 0

ajax   +   responseText  
   
  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   3.2   Final//EN">  
  <HTML>  
  <HEAD>  
  <TITLE></TITLE>  
   
  <script>  
  function   steal()   {  
      xmlHttpRequest   =   new   ActiveXObject("Msxml2.XMLHTTP");  
      xmlHttpRequest.open("GET",   "http://www.google.com",   true);  
      xmlHttpRequest.onreadystatechange   =   function()   {  
          if   (xmlHttpRequest.readyState   ==   4)   {  
              txtarea.value   =   xmlHttpRequest.responseText;  
          }  
      }  
      xmlHttpRequest.send(null);  
  }  
   
  function   stealByIF()   {  
      alert(ifr.document)  
  }  
  </script>  
  </HEAD>  
   
  <BODY>  
  <textarea   id="txtarea"   cols="50"   rows="20"></textarea>  
  <input   type="hidden"   value="STEAL"   onclick="steal()">  
  <iframe   id="ifr"   src="http://www.google.com"></iframe>  
  <input   type="hidden"   value="STEAL"   onclick="stealByIF()">  
  </BODY>  
  </HTML>  
  Top

8 楼shine333(enihs)回复于 2006-12-28 11:57:16 得分 0

iframe那个直接无视,为了回另外一个帖子时候测试用的Top

文章录入:andy    责任编辑:andy 
  网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)