c# - 客户端recaptcha验证抛出503“服务不可用”
问题描述
如果我在浏览器中运行该 URL,则该 URL 有效,因此密钥和响应是正确的。但是,当我在本地运行代码时,它会引发 503 错误。有任何想法吗?
using System.Collections.Generic;
using System.Configuration;
using System.Net;
using System.Net.Http;
using System.Text;
using Newtonsoft.Json;
namespace ProjectM2.Shared
{
public class ReCaptcha
{
public bool Success { get; set; }
public List<string> ErrorCodes { get; set; }
public static bool Validate(string encodedResponse)
{
if (string.IsNullOrEmpty(encodedResponse)) return false;
var client = new System.Net.WebClient();
var secret = ConfigurationManager.AppSettings["Google.ReCaptcha.Secret"];
if (string.IsNullOrEmpty(secret)) return false;
var googleReply = client.DownloadString(string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secret, encodedResponse));
var reCaptcha = JsonConvert.DeserializeObject<ReCaptcha>(googleReply);
return reCaptcha.Success;
}
}
}
解决方案
解决了。事实证明,网络过滤器是罪魁祸首。我将我的机器移动到没有网络过滤器的 vlan 并且代码有效。
感谢所有花时间阅读和回答我问题的人。
推荐阅读
- java - 如何在 HbaseMapReduce Job 中为表提供命名空间
- octave - 二进制数组使用 bin2dec 八度
- c++ - 从已部署的 Qt 应用程序执行 jar 文件
- type-conversion - 为 R 创建一个矩阵
- java - 如何在加密时保持视频文件的标题完整,以便我可以以加密形式播放加密文件
- c# - WinForms 变形字体
- php - WordPress 短代码在自定义主题中失败
- django - Django admin 中的 ForeignKey 内联下拉菜单
- c# - Automapper not ForMember 不映射(说属性未映射)
- javascript - jQuery:比较 if 语句中的字符串未按预期工作