如何根据 IP(国家代码)确定默认的 Accept-Language 标头?

Posted

技术标签:

【中文标题】如何根据 IP(国家代码)确定默认的 Accept-Language 标头?【英文标题】:How to determine default Accept-Language header based on IP (country code)? 【发布时间】:2009-10-26 13:33:32 【问题描述】:

我想在我的网站上加强垃圾邮件防护。我发现在被 ip 机器人禁止后,不要更改 Accept-Language 和 Accept-Charset http 标头(因此大多数垃圾邮件都带有 windows-1251 accept-charset)。我知道可能会有普通用户有不同寻常的偏好,但无论如何,我如何确定哪些字符集和语言标题在特定国家/地区最受欢迎? TIA

【问题讨论】:

【参考方案1】:

这个答案有两部分:确定您的用户来自哪里,以及他们说什么语言。要确定它们来自哪里,您可以使用hostip.info 之类的服务,它有一个 API,它接受一个 IP 地址并返回一个国家/地区代码。其次,您需要一个诸如this one 之类的列表来将国家代码翻译成语言代码。您可以使用完整的数据库或简单的字典来存储映射。

【讨论】:

以上是关于如何根据 IP(国家代码)确定默认的 Accept-Language 标头?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据国家/地区的IP地址重定向网站

如何获取用户位置国家 [关闭]

如何根据国家 IP 编写不同的欢迎页面?

如何根据国家IP地址重定向域

如何根据 IP 地址自动填写城市、州和国家/地区表单字段?

linux C++ socket 如何获取客户端ip地址?(第一次accept无法获取客户端ip原因,第一次获取ip为0.0.0.0,需要赋初始size)