Function ProxyPage(url)
Set Retrieval = CreateObject("MSXML2.ServerXMLHTTP.5.0")
With Retrieval
.SetProxy 2 , "255.0.0.0:80" '代理ip:代理端口
.Open "Get", url, False, "", ""
.setRequestHeader "Referer","http://www.baidu.com/" '伪造referer
.Send
ProxyPage = BytesToBstr(.ResponseBody)
End With
Set Retrieval = Nothing
End Function
附BytesToBstr过程,你采集的时候可以定义网页是utf-8还是gb2312,utf="True"为 utf-8
Function BytesToBstr(body)
dim objstream
set objstream = Server.CreateObject("ad"&""&"odb.st"&""&"ream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
if utf="True" then
objstream.Charset = "utf-8"
else
objstream.Charset = "gb2312"
end if
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
代码解释:
如果你系统是win 2003 只能使用以下代码
CreateObject("MSXML2.ServerXMLHTTP.4.0")
若为xp
CreateObject("MSXML2.ServerXMLHTTP.5.0")
伪造referer用处很一般,不过对于一些站还是有用的,所以代码我加上了,可以注释掉,
注意:
如果你不会写asp采集,那么代码你可能不懂,那就不是我这次发帖所讨论了,希望对大家有用。