在Windows应用程序窗体中显示reCAPTCHA

时间:2018-09-25 09:37:00

标签: c# winforms recaptcha

作为我的应用程序的一部分,我必须为用户显示google reCAPTCHA。不幸的是,我对Web东西不熟悉,特别是reCAPTCHA。 我使用下面的代码

string nitroUser = @"myUserName";
string nitroPass = @"MyPass";
string apiURL = $"https://nitroflare.com/api/v2/getDownloadLink?user={nitroUser}&premiumKey={nitroPass}&file={nitroflareCode}";
using (WebClient getNitroflareLink = new WebClient())
{
    getNitroflareLink.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
    string json = getNitroflareLink.DownloadString(apiURL);
    dynamic json_data = JsonConvert.DeserializeObject(json);
    if (json_data.result.recaptchaPublic != null)
    {
        {
            string sitekey = json_data.result.recaptchaPublic; // return 6Lenx_USAAAAAF5L1pmTWvWcH73dipAEzNnmNLgy

            // Load webBrowser 
            string html = $"<html><head><title>reCAPTCHA demo: Simple page</title><script src='https://www.google.com/recaptcha/api.js' async defer></script></head><body><form action='?' method='POST'><div class='g-recaptcha' data-sitekey='{sitekey}'></div><br/><input type='submit' value='Submit'></form></body></html>";

            webBrowser1.DocumentText = html;
        }
    }
}

这是文档

  

在任何请求中,您可能都会收到以下响应,并且在执行时-您应该使用响应中收到的公共密钥向用户显示Google的ReCAPTCHA v2:

{
  "type": "success",
  "result": {
    "recaptchaPublic": "6Lenx_USAAAAAF5L1pmTWvWcH73dipAEzNnmNLgy"
  }
}
  

用户完成挑战后,您应该使用另一个GET参数再次发送相同的请求

0 个答案:

没有答案