有关ASP根据用户IP的页面转向代码 100份求解

来源:百度知道 编辑:UC知道 时间:2024/05/13 05:13:46
<!--#include file="conn.asp"-->
<%
ip = request.servervariables("http_x_forwarded_for")
if ip = "" then ip = request.servervariables("remote_addr")

userip_ary=split(ip,".")
tmp_userip=userip_ary(0)*256*256*256+userip_ary(1)*256*256+userip_ary(2)*256+userip_ary(3)

set rs=server.createobject("adodb.recordset")
sql="select * from [ip] where startip<="&tmp_userip&" and endip>="&tmp_userip&""
set rs=conn.execute(sql)
url=rs("city")
if rs.eof then
response.write "www.baidu.com"
else
if url<>"" then
response.write ""&url&""
else
response.write "www.baidu.com"
end if
e

想模仿cdn的运作,不过这方法不管用的,因为现在南北线路已经不像以前所谓的“瓶颈”了,其实南北问题始终都在解决,现在也基本上比较畅通了

其实如果你用过网通,电信,铁通,甚至科研网、科教网,你会发现,现在抛开科教网不提,科研网和网通是一路线,电信进入北京后速度比当地网通还快,铁通南北访问寸步难行

所以,如果你想仿cdn做分线路,不如找一个好一点的电信机房(不要多线路和支持网通的,带网通字样的准保速度慢),基本上全有了

如果非想要代码,给我留言,我帮你找找,我的老机器有现成的,只是找起来麻烦

你用的是response.write 这是要在网页上显示你的内容.所以你把网页地址都显示在网页上了,当然不能跳转了..

你换成response.redrect试试

注意,你这里所有的代码都是asp代码,也就是说,这所有的文件都是在服务器端执行的,此时你得到的IP都将是一个,那就是你的服务器IP,你可以输出一个看一下是不是这样。。。

如果是这样的话,那你就只能从客户端先取值了。。。具体怎么样取值,那就看你了。。。

if rs.eof then
response.write "www.baidu.com"
else
if url<>"" then
response.write ""&url&""
else
response.write "www.baidu.com"
end if
end if

要网页跳转,response.redirect(url)

测试方法,输出,sql语句,人