Приветствую. Возникла проблема с прохождением проверки на робота при авторизации вк. Делаю вот что: Code: public void AuthVK(string login, string pass) { using (var request = new HttpRequest()) { cookie = new CookieDictionary(false); request.UserAgent = Http.ChromeUserAgent(); request.Cookies = cookie; // С главной страницу парсю action // action == https://login.vk.com/?act=login&_origin=https://m.vk.com&ip_h=ip_h&lg_h=lg_h&role=pda&utf8=1 string html = request.Get("https://m.vk.com/").ToString(); string action = html.Substring("action=\"", "\""); var reqParams = new RequestParams(); reqParams["email"] = login; reqParams["pass"] = pass; // Отправляю запрос на авторизацию html = request.Post(action, reqParams).ToString(); // Если вылезла капча if (html.Contains("captcha")) { // Парсю новый action action = html.Substring("action=\"", "\""); // парсю sid и сохраняю капчу на комп string sid = html.Substring("captcha_sid\" value=\"", "\""); request.Get("https://m.vk.com/captcha.php?s=0&sid=" + sid).ToFile(@"captcha.jpg"); // Тут забиваю код капчи вручную прямо во время отладки string captcha_key = ""; // Отправлю запрос с новым action, разгаданным кодом и sid html = request.Get(action + "&captcha_key=" + captcha_key + "&captcha_sid=" + sid + "&email=" + login + "&pass=" + pass).ToString(); } html = request.Get("https://vk.com/id0").ToString(); } После чего контакт просит ввести новую капчу Есть предположение, что после первого запроса на авторизацию контакт дает одну капчу, а когда я пытаюсь скачать картинку на комп - уже другую, т.к. при переходе по url капчи она каждый раз меняется. Если так, подскажите, пожалуйста, как мне выгрузить картинку сразу после первого запроса?
А зачем ты снова идешь по урлу? Ты здесь уже получил ответ именно с нужеой тебе картинкой Code: html = request.Post(action, reqParams).ToString(); Распарси и дёрну оттуда все <img> Следующий совет отследи авторизацию в вк и посомтри на каком этапе летит request на каптчу.
Возьми пустой Firefox, поставь плагин TamperData, и отследи запросы и все данные, которые происходят при авторизации. Как указали выше - просто сохраняй капчу из нужного тэга img, но может быть вариант, когда ты будешь снова слать запрос на урл капчи, сервер выдаст тебе уже совсем другую картинку. Как самый простой и топорный вариант - делай это все в браузере, куда эта капча загрузится, и тяни ее уже оттуда.