我在使用 C#/.Net 3.5 使用 reCaptcha Web 服务时遇到了困难。虽然我认为问题出在一般使用 Web 服务上。
String validate = String.Format("http://api-verify.recaptcha.net/verify?privatekey={0}&remoteip={1}&challenge={2}&response={3}", PrivateKey, UserIP, Challenge, Response);
WebClient serviceRequest = new WebClient();
serviceRequest.Headers.Add("ContentType","application/x-www-form-urlencoded")
String response = serviceRequest.DownloadString(new Uri(validate ));
它一直告诉我错误是:nverify-params-incorrect。意思是:
/verify 的参数不正确,请确保您传递了所有必需的参数。
但这是正确的。我使用的是私钥,IP 地址(本地)是 127.0.0.1,挑战和响应似乎都很好。但是错误不断发生。
我很确定这是我如何请求服务的问题,因为这是我第一次实际使用 web 服务和 .Net。
我也试过这个,因为它可以确保发布数据:
String queryString = String.Format("privatekey={0}&remoteip={1}&challenge={2}&response={3}",PrivateKey, UserIP, Challenge, Response);
String Validate = "http://api-verify.recaptcha.net/verify" + queryString;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(Validate));
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = Validate.Length;
**HttpWebResponse captchaResponse = (HttpWebResponse)request.GetResponse();**
String response;
using (StreamReader reader = new StreamReader(captchaResponse.GetResponseStream()))
response = reader.ReadToEnd();
似乎在我得到回应的时候停滞不前。
有什么建议吗?
提前致谢