Javascript 让google Recaptcha在域名中使用特殊字符

Javascript 让google Recaptcha在域名中使用特殊字符,javascript,cross-domain,recaptcha,Javascript,Cross Domain,Recaptcha,我正在为一个域名()中带有瑞典字符的站点设置API密钥,但它没有初始化recaptcha 然后尝试为等效url使用api键,该url在从到达站点时起作用,但不起作用 然后,我找到了应该在所有域上工作的安全令牌。它在所有域上初始化了recaptchas,并且还在所有测试域上工作,除了其中包含ä的域。 有没有办法让它在域名中与ä一起工作 编辑 由于的api密钥在从访问站点时在android上工作,因此可能是浏览器解释域的方式。firefox解释为域,无法从不允许在域名中使用ä的google服务器获

我正在为一个域名()中带有瑞典字符的站点设置API密钥,但它没有初始化recaptcha

然后尝试为等效url使用api键,该url在从到达站点时起作用,但不起作用

然后,我找到了应该在所有域上工作的安全令牌。它在所有域上初始化了recaptchas,并且还在所有测试域上工作,除了其中包含ä的域

有没有办法让它在域名中与ä一起工作

编辑

由于的api密钥在从访问站点时在android上工作,因此可能是浏览器解释域的方式。firefox解释为域,无法从不允许在域名中使用ä的google服务器获得响应。Android Intepret为并将得到响应,因为它不包含ä。有什么想法吗?有没有办法强制浏览器将其解释为

Edit2

代码示例可以在sälja.io/test、178.62.187.163/test和xn--slja-loa.io/test上找到

Edit3


截至今天(2015年11月25日),似乎不可能在域名中使用带有特殊字符如ä的recaptcha。由于艾什瓦特·辛格(aishwat singh)一直在最大程度上帮助他在获得奖金的时间内得出这一结论,因此他将获得奖励,但是,当能够为这个问题提供解决方案时,答案将被接受

我刚刚尝试过,我能够为
示例-a.se
6ld8vretaaaalrxfnxmjeevzbg2y5vdwv7thwjz生成密钥

稍后将发布一个完整的工作示例


编辑1

下面是代码的git,同样运行在

好吧,这不是一个完整的修复程序,因为我使用了herokuapp.com作为域,所以example-ä.herokuapp.com成为了一个子域并起作用

(然而,当我早些时候尝试它时,我也为
示例-se
创建了一个密钥,但在captcha加载页面上,它给出了
无效域
,我发现这是最初的问题,我以为您无法生成此域的密钥)

将尝试进行完全修复


编辑2

顺便说一句,您也可以指定您的域ip,请选中此项

对我来说,heroku免费帐户不提供域的ip,所以我很难测试它

我也在读这个

如果我将域列表指定为它只接受的
com
,我就知道了。在您的情况下,只需将
se
指定为域,它应该可以工作,google不会检查确切的url,它只是检查域


希望对您有所帮助,您也可以查看斯托克城的方法

您可以阅读以下文章:


由于我现在不在电脑前,因此稍后我将测试您的示例。你是对的,这不是子域而是一个域。顺便说一句,我认为问题出在浏览器上,因为它在我的android手机上工作,但不是在firefox或explorer等浏览器上。@embe ok vl在firefox和ieI上尝试一下,我现在已经尝试过了,但无法让它工作。因为我使用ubuntu,所以只尝试firefox和android。只有在浏览器中输入ip时,“ip方式”才起作用,而不是使用“ä-domain”。“域扩展方式”是初始化验证码,就像安全令牌一样,但并没有给出响应(不是验证),就像安全令牌一样。“域名扩展方式”也适用于android。我想这一定是浏览器认为它拥有的域名;在firefox的案例中,它认为自己是exampleädomain,而不是与recaptcha服务器一起工作;在android的案例中,它认为自己有example--7za domain,并得到了响应。你觉得这个怎么样?有没有办法强迫浏览器认为它有域示例——7za而不是示例——ä?如果没有人能为firefox提供一个有效的解决方案,我将把奖金奖励给你,作为不可能的证据。:-)我实施它没有问题。问题是让它与包含ä的域一起工作