代码之家  ›  专栏  ›  技术社区  ›  Kevin Bradshaw

Recaptcha2.0远程服务器返回错误(错误请求)

  •  0
  • Kevin Bradshaw  · 技术社区  · 7 年前

    var result = false;
    
            var apiUrl = "https://www.google.com/recaptcha/api/siteverify";
    
            var request = (HttpWebRequest)WebRequest.Create(apiUrl);
            request.Method = "POST";
    
    
            string postString = string.Format("secret={0}&response={1}&remoteIp=127.0.0.1", ReCaptcha_Secret, res);
            const string contentType = "application/x-www-form-urlencoded";
            byte[] byteArray = Encoding.UTF8.GetBytes(postString);
            request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
            request.ContentType = contentType;
            request.ContentLength = postString.Length;
            StreamWriter requestWriter = new StreamWriter(request.GetRequestStream());
            requestWriter.Write(postString);
            requestWriter.Close();
    
    
            try
            {
                using (WebResponse response = request.GetResponse())
                {
                    using (StreamReader stream = new StreamReader(response.GetResponseStream()))
                    {
                        JObject jResponse = JObject.Parse(stream.ReadToEnd());
                        var isSuccess = jResponse.Value<bool>("success");
                        result = (isSuccess) ? true : false;
                    }
                }
                return result;
            }
            catch (Exception e)
            {
                return false;
            }
    

    这个秘密和回应是正确的,但无论我做什么,我都会收到这样的信息:

    它来自我的开发环境,我已经用captcha注册了127.0.0.1

    有什么建议吗?

    编辑

    res是由Captcha challange生成的对用户的响应代码

    0 回复  |  直到 7 年前