.NET中判断国内IP和国外IP

tjava_net 2010-11-24 10:06:56
网站需要考虑浏览者 如果在国内输入网址则进入中文版网站而国外则进入英文网站
请问要怎么实现呢???
麻烦给个实例
495362746@qq.com
...全文
298 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
copybeethoven 2010-11-25
  • 打赏
  • 举报
回复
何苦要自己判断IP地址的归属 又麻烦代码又复杂
在起始页给个界面友好的选择 ENGLISH CHINESE
爱用英文的用英文的 爱用中文的用中文的 何况你能保证IP是国外的人就一定是外国人吗??
说到底还是人在用 楼主走进死胡同了
不过这个问题作为技术讨论还是不错的
zhb20046 2010-11-25
  • 打赏
  • 举报
回复

一定需要这样判断IP的效果吗?
很多网站如果有双文版,就这样...显著的地方英文版标注(中文)2个字 中文版就标注English.做版本跳转.
以上全是废话,如果你是特殊要求的话...
coolszy 2010-11-25
  • 打赏
  • 举报
回复
首先获得对方的IP,这哥容易实现,然后可以借助网上的查询IP的网站获得国家,
当然还可以下载了IP纯真数据库,自己到数据库里查询
验证码识别 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 jshi123 的回复:]
简单一点的话可以借助第三方站长工具实现,比如chinaz站长之家:

C# code

string ip = "xx.xx.xx.xx";
string url = "http://tool.chinaz.com/ip/?IP=" + ip;
byte[] r = new WebClient().DownloadData(url);
bool fromUS = Encoding.U……
[/Quote]

mark
jshi123 2010-11-25
  • 打赏
  • 举报
回复
简单一点的话可以借助第三方站长工具实现,比如chinaz站长之家:

string ip = "xx.xx.xx.xx";
string url = "http://tool.chinaz.com/ip/?IP=" + ip;
byte[] r = new WebClient().DownloadData(url);
bool fromUS = Encoding.UTF8.GetString(r).IndexOf("美国") != -1;

如果要考虑效率和可靠性,那就要自己建一个ip地址段的数据库,判断ip位于哪个地址段内
ip地址段网上有很多,比如:
http://www.cppblog.com/kyelin/archive/2008/10/28/65289.html
http://www.supersoft.com.cn/ipseek.asp
http://download.csdn.net/source/763323
http://www.wingsofts.com/html_cn/ip/index.html
有的全些,有的粗略些,还有的是要收费的,看你的需要了
lihaoran8577 2010-11-24
  • 打赏
  • 举报
回复
lihaoran8577 2010-11-24
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 lihaoran8577 的回复:]
C# code
string strLang = Request.UserLanguages[0].ToString();

获取语言!
[/Quote]
不过也不排除有的人喜欢用英文版的!
我同学他们在HP,公司强制性要求他们用英文的!(测试的)
lihaoran8577 2010-11-24
  • 打赏
  • 举报
回复
string strLang = Request.UserLanguages[0].ToString();

获取语言!
  • 打赏
  • 举报
回复
不懂。。顶哈~~~
yangliwei123456 2010-11-24
  • 打赏
  • 举报
回复
呵呵,我也不知道,请教高人
tjava_net 2010-11-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wupeng7654111 的回复:]
引用 4 楼 tjava_net 的回复:
引用 1 楼 mmm306306 的回复:
貌似得从IP段 判断了。。
详细的规则 不知道了 。。。。


我可以通过浏览器的语言来判断吗??
要怎么获取客户浏览器的语言呢?


貌似这样,做出来的也不理想啊。
[/Quote]

也是,但我现在只需要判断二个国家的。。。
wupeng7654111 2010-11-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tjava_net 的回复:]
引用 1 楼 mmm306306 的回复:
貌似得从IP段 判断了。。
详细的规则 不知道了 。。。。


我可以通过浏览器的语言来判断吗??
要怎么获取客户浏览器的语言呢?
[/Quote]

貌似这样,做出来的也不理想啊。
tjava_net 2010-11-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mmm306306 的回复:]
貌似得从IP段 判断了。。
详细的规则 不知道了 。。。。
[/Quote]

我可以通过浏览器的语言来判断吗??
要怎么获取客户浏览器的语言呢?
gdk123 2010-11-24
  • 打赏
  • 举报
回复
希望有高手帮你,我对这个问题很感兴趣!
马老虎 2010-11-24
  • 打赏
  • 举报
回复
貌似得从IP段 判断了。。
详细的规则 不知道了 。。。。

110,530

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧