分享

写回答

发帖

[其他] 我的采集功能[XMLHTTP组件]被Godaddy的防火墙阻止了!!!

GoDaddy GoDaddy 1241 人阅读 | 1 人回复

发表于 2009-10-30 23:55:51 | 显示全部楼层 |阅读模式

我做的一个企业网站需要生成2万多HTML文件。刚开始的时候,我生成的HTML都能很成功。过了一个星期后,发现网站的生成Html功能不能用了,这个功能是调用XMLHTTP 组件进行采集然后生成HTML文件的。一开始还以为Godaddy 禁用了Xmlhttp组件,于是上传了个test.asp测试,发现XMLHTTP未被禁用。但是测试页一直处于假死状态。测试页地址 http://www.ichost.net/test.asp 。 上传到国内空间却能运行。我推断应该是被防火墙阻止了(被godaddy封杀)

打电话给客服,客服说是这是属于Code issue。他们不管。

为了证明我推断的正确性,哪位仁兄能在Godaddy空间上测试一下以下代码?

<%


Server.ScriptTimeout=50000

'常用函数

'1、输入url目标网页地址,返回值getHTTPPage是目标网页的html代码
function getHTTPPage(url)
dim Http
set Http=server.createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
set http=nothing
if err.number<>0 then err.Clear
end function

'2、转换乱玛,直接用xmlhttp调用有中文字符的网页得到的将是乱玛,可以通过adodb.stream组件进行转换
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

'下面试着调用http://www.3doing.com/earticle/的html内容
Dim Url,Html
Url="http://www.wbestint.com/index.html"
Html = getHTTPPage(Url)
Response.write Html
%>

回答|共 1 个

add.c

发表于 2009-10-31 09:13:07 | 显示全部楼层

应该不是被限制,没听说他们针对某个网站限制什么的

建议楼主采集下其他网站试试,有时候采集太多 服务器IP会被别人网站禁止
您需要登录后才可以回帖 登录 | 注册

本版积分规则