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生成的对用户的响应代码