// update Port in proxy class private static void LoadHideMyAssCaptcha(HideMyAssProxyStruct proxy) { HttpClient connection = new HttpClient(); string num = ""; byte[] bitmapData = null; try { bitmapData = connection.DownloadData(proxy.PortImgURL); } catch (Exception e) { ConsoleLog.WriteLine("LoadHideMyAss: load 3 error. " + e.Message); return; } //Bitmap source = new Bitmap(new MemoryStream(bitmapData)); //source.Save(@"C:\source" + count.ToString() + ".bmp"); Bitmap captcha = LoadHideMyAssCaptchaCutSource(new Bitmap(new MemoryStream(bitmapData)), 0); //Bitmap captcha = CaptchaCutSource(new Bitmap(@"C:\source.bmp")); //captcha.Save(@"C:\cut" + count.ToString() + ".bmp"); for (int captchaX = 0; captchaX < captcha.Width - hidemyassSamplesMaxWidth; captchaX++) { foreach (Bitmap trySample in hidemyassSamples) { Bitmap lSample; lock (locker) { lSample = new Bitmap(trySample); } if (LoadHideMyAssCaptchaCompareSamples(captcha, captchaX, lSample)) { num += hidemyassSamples.IndexOf(trySample).ToString(); break; } } } proxy.Port = num.ToString(); return; }
public Captcha(string Referer) { try { HttpClient client = new HttpClient(); client.Referer = Referer; //Вытаскиваем токен каптчи string CaptchaData = client.DownloadString(Captcha.CaptchaAPIURL); CaptchaData = CaptchaData.Remove(0, CaptchaData.IndexOf(Captcha.ChallengeScanString) + ChallengeScanString.Length); CaptchaData = CaptchaData.Remove(0, CaptchaData.IndexOf(Captcha.ChallengeScanString2) + ChallengeScanString2.Length); CaptchaData = CaptchaData.Trim(); if (CaptchaData[0] == '\'') CaptchaData = CaptchaData.Remove(0, 1); CaptchaData = CaptchaData.Remove(CaptchaData.IndexOf('\'')); /* client.Referer=Referer; string CaptchaImageURL=client.DownloadString(Captcha.CaptchaGAPIURL); CaptchaImageURL=CaptchaImageURL.Substring(CaptchaImageURL.IndexOf('\'')+1); CaptchaImageURL=CaptchaImageURL.Remove(CaptchaImageURL.IndexOf('\'')); */ string CaptchaImageURL = Captcha.CaptchaURLBase + CaptchaData; //Грузим картинку с каптчей client.Referer = null; Image = client.DownloadData(CaptchaImageURL); ChallengeID = CaptchaData; } catch (Exception e) { ConsoleLog.WriteLine("Unable to load captcha: " + e.Message); throw e; } }