在我的ASP.NET MVC 4项目中,我正在使用Microsoft.Web.Helpers
(来自NuGet包),我的代码是ReCaptcha的一个非常基本的实现。在我看来,我有:
@ReCaptcha.GetHtml(theme: "clean")
在我的控制器中我有:
Microsoft.Web.Helpers.ReCaptcha.Validate();
我们正在使用的SSL实现带来了复杂性。
我已将适当的设置添加到我的web.config:
<system.net>
<defaultProxy>
<proxy proxyaddress="http://***proxy script settings**"
autoDetect="False"
usesystemdefault="False"
bypassonlocal="True" />
</defaultProxy>
</system.net>
似乎在配置方面没有什么可以做的,但我收到错误消息
远程服务器返回错误:(404)Not Found
当我在我的控制器中的表单post方法上点击recaptcha validate方法时。
我在这里找到了许多其他答案,但他们似乎都建议您更改网址或升级。因为我使用NuGet包,我原以为我使用的是最新版本。任何有更多信息的想法或链接都非常感谢。我已经在这个网站和谷歌上做了很多相关的搜索
修改
我发现早期版本的firefox在给定我们的网络条件的情况下实际渲染重新捕获框有问题,但最新版本没问题。虽然验证是在控制器上完成的,但我想这里没有问题。
答案 0 :(得分:0)
经过大量的头发和一般的混乱,我发现问题是我们的企业防火墙阻止了谷歌API的POST(但不是GET)。我以前曾打过折扣,因为我可以导航到recaptcha使用的服务(http://www.google.com/recaptcha/api/verify)。
我通过构建帖子必备部分的HTML页面并在浏览器中提交它来找到这个。公司“此页被阻止”出现 - 但是在代码中返回的错误是404.该错误有些误导,但这是我们基础设施部门的奇怪行为。