- Регистрация
- 14.08.2012
- Сообщения
- 480
- Благодарностей
- 119
- Баллы
- 43
для тех кому надоели кубики)
снипет возвращает g-response
снипет возвращает g-response
Код:
string subjectUrl = ""; //целевая страница с каптчей
string googleKey = ""; // ключ Google Recaptcha для сайта
string key = project.Variables["Key"].Value; // переменная с ключом API для рукаптчи
int counter = 20; // сколько ждём разгадывания (кратно 10)
string s, url;
HttpWebRequest req;
HttpWebResponse resp;
url = "http://rucaptcha.com/in.php?key=" + key + "&method=userrecaptcha&googlekey=" + googleKey + "&pageurl=" + subjectUrl;
req = (HttpWebRequest)WebRequest.Create(url);
resp = null;
try { resp = (HttpWebResponse)req.GetResponse(); }
catch (WebException ex) { resp = (HttpWebResponse)ex.Response; }
using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
{
s = sr.ReadToEnd();
s = Regex.Match(s, @"(?<=(?i)OK\|).+").Value;
}
resp.Close();
if (s.Length > 0) url = "http://rucaptcha.com/res.php?key=" + key + "&action=get&id=" + s;
else throw new Exception("Не смогли отправить каптчу на разгадывание!");
for (int i = 0; i < counter; i++)
{
req = (HttpWebRequest)WebRequest.Create(url);
resp = null;
try { resp = (HttpWebResponse)req.GetResponse(); }
catch (WebException ex) { resp = (HttpWebResponse)ex.Response; }
using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
{
s = sr.ReadToEnd();
s = Regex.Match(s, @"(?<=(?i)OK\|).+").Value;
}
resp.Close();
if (s.Length > 0) return s;
Thread.Sleep(10 * 1000);
}
throw new Exception("Не дождались разгадывания каптчи");
Последнее редактирование: