主题:  这样的功能可以实现吗?

一笑

职务:普通成员
等级:1
金币:0.0
发贴:118
#12003/11/29 21:39:44
做了个网站,有英文的首页和中文的首页。
现在想通过判断IP地址来实现这样的功能:来自中国的IP则打开中文的页面;来自其它的国家的IP地址则打开英文的页面。
要怎么样用ASP来实现它呢?听说GOOGLE就是用的这个思路。。
不知有哪位高手能写出代码来!!或者在哪个网站有得提供这样子的代码啊????
谢谢了!!



悲伤的设计

职务:普通成员
等级:1
金币:1.0
发贴:158
#22003/11/29 22:00:40
我也没想过,但是应该这样,可能有更好的方法,我的思路是这样
建一个数据库,把所有的IP段都标上当然,要从多少到多少的
每个IP段分为两种,一,中国,二外国
dim ip
ip = request.servervariables("REMOTE_ADDR")
DIM rs,sql(这里假设数库已联接)
set rs=server.createobject("adodb.recordset")
sql="select * from IP(假设这个是IP表) where ip='"&ip&"'"
rs.open sql,conn,1,1
if rs("地区")=中国 then
response.redirect("中国那页网址")
else
response.redirect("外国那页网址")
end if
rs.close
set rs=nothing
这里只是一个大约的思路,我写好后也没检查,可能有语句打字的时候打错了
还有IP段没搞,我只写了一个大约的思路



一笑

职务:普通成员
等级:1
金币:0.0
发贴:118
#32003/11/29 22:10:55
谢谢“悲伤的设计”



icerain

职务:普通成员
等级:1
金币:1.0
发贴:249
#42003/11/30 1:09:44
请问一下用request.servervariables("REMOTE_ADDR")取得的IP是几个段的?
应该是完全的IP吧
他去哪弄一个十分完美的IP数据库呢?

如果判断IP的前三段,但我感觉IP的数据库还是个问题。不太容易搞到完美一些的啊。

我是个初学者。不知道能不能想办法判断游览者的操做系统是中文的还是其它的。
如果能判断就能response.redirect("中国那页网址")ORresponse.redirect("外国那页网址")
准确一些哟~



icerain

职务:普通成员
等级:1
金币:1.0
发贴:249
#52003/11/30 1:10:44
再补充一下。如果不能判断系统的语言大家别笑话我啊!!!

:)



pigeon

职务:普通成员
等级:1
金币:0.0
发贴:46
#62003/11/30 14:05:15

判断IP可能太复杂了,直接判断操做系统语语还是比较好的方法,如首页使用如下代码:

<%
language=request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
if language="en" then
response.Redirect("en/index.asp")
else
response.Redirect("cn/index.asp")
end if
%>



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#72003/11/30 16:43:55
request.ServerVariables("HTTP_ACCEPT_LANGUAGE") 返回语言代码-地区代码串,所以楼上的判断不一定正确。

语言代码:
en : 英语
zh : 汉语
de : 德语
fr : 法语

地区代码:
us : 美国
cn : 简体中文区
ca : 加拿大

对于英文系统,返回 en-us ; 简体中文系统返回 zh-cn



悲伤的设计

职务:普通成员
等级:1
金币:1.0
发贴:158
#82003/11/30 20:01:41
icerainzd在上个帖子中说
引用:
请问一下用request.servervariables("REMOTE_ADDR"取得的IP是几个段的?
应该是完全的IP吧
他去哪弄一个十分完美的IP数据库呢?

如果判断IP的前三段,但我感觉IP的数据库还是个问题。不太容易搞到完美一些的啊。

我是个初学者。不知道能不能想办法判断游览者的操做系统是中文的还是其它的。
如果能判断就能response.redirect("中国那页网址"ORresponse.redirect("外国那页网址"
准确一些哟~

我只是说了大约的一个思路并没有说已经实现了



icerain

职务:普通成员
等级:1
金币:1.0
发贴:249
#92003/11/30 20:19:38
<%
language=request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
if language="zh" then
response.Redirect("cn/index.asp")
else
response.Redirect("en/index.asp")
end if
%>



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#102003/11/30 20:45:16
if Left(language,2)="zh" Then
...