急~~我想获得一个指定网页的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
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |








网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)