如何根据 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 标头?的主要内容,如果未能解决你的问题,请参考以下文章
linux C++ socket 如何获取客户端ip地址?(第一次accept无法获取客户端ip原因,第一次获取ip为0.0.0.0,需要赋初始size)