注册 登录
编程论坛 ASP技术论坛

通过asp如何获取其它网页的源代码

虔虞 发布于 2010-11-10 09:30, 1116 次点击
搜索了网络上很多的代码,能够实现大部分网页源码的获取,但有些网站却获取不到,例如我需要获取(http://video.)这个页面的时时彩开奖数据,则就获取不到,有高手知道站长之家那样的,什么网页都能获取的代码吗?
4 回复
#2
aspic2010-11-10 09:45
有些需要设置一些参数 假装是浏览器才行。。。不然人家页面里面做了判断就获取不到了
#3
虔虞2010-11-10 09:45
这段代码可以获取一般网页的源码,但有些不行,请高手帮助改进:
<%

url="http://www.baidu.com"  '//定义要获取源代码的网址,一般是通过变量传递过来
HTMLCODE=getHTTPPage(url) '//获取源代码的函数

response.Write HTMLCODE '//输出HTML格式的网页内容

Function getHTTPPage(url)
    dim objXML
    set objXML=createobject("MSXML2.SERVERXMLHTTP.3.0")  '调用XMLHTTP组件,测试空间是否支持XMLHTTP
    objXML.open "GET",url,false 'false表示以同步的方式获取网页代码,了解什么是同步?什么是异步?
    objXML.send() '发送
    getHTTPPage=bBytesToBstr(objXML.responseBody)'返回信息,同时用函数定义编码
    set objXML=nothing'关闭
End Function


Function bBytesToBstr(body)
    dim objstream
    set objstream = CreateObject("adodb.stream") '//调用adodb.stream组件
    objstream.Type = 1
    objstream.Mode =3
    objstream.Open
    objstream.Write body
    objstream.Position = 0
    objstream.Type = 2
    objstream.Charset = "GB2312" '转换原来默认的UTF-8编码转换成GB2312编码,否则直接用XMLHTTP调用有中文字符的网页得到的将是乱码
    bBytesToBstr = objstream.ReadText
    objstream.Close
    set objstream = nothing
end Function
%>

#4
虔虞2010-11-10 09:47
以下是引用aspic在2010-11-10 09:45:57的发言:

有些需要设置一些参数 假装是浏览器才行。。。不然人家页面里面做了判断就获取不到了
请指点,怎么样才能模拟浏览器效果?
#5
aspic2010-11-10 11:08
objXML.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.0; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3 (.NET CLR 3.5.30729)");
类似这样的
1