преобразовать капчу в base64 не из файла

Bot_Sculptor

Client
Регистрация
11.06.2012
Сообщения
787
Благодарностей
239
Баллы
43
вот для примера url http://www.15procentov.ru/regist/
get мы получаем капчу картинку


в каком виде эти данные, на скрине?
как эти данные конвертировать в base64 для отправки на разгадывание?
т.е. чтобы не сохранять картинку в файл, а потом из файла в byte, а потом в base64 и потом отправлять.
 

Bot_Sculptor

Client
Регистрация
11.06.2012
Сообщения
787
Благодарностей
239
Баллы
43
и... АП
это форум поддержки или чего? разве админы, разработчики софта не знают ответ, на детский для их умов вопрос? да не смешите...
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
Какие проблемы) надеюсь сможешь дальше его в антигейт отправить
C#:
string imageUrl = @"http://15procentov.ru/kcaptcha/";
byte[] imageBytes;
HttpWebRequest imageRequest = (HttpWebRequest)WebRequest.Create(imageUrl);
WebResponse imageResponse = imageRequest.GetResponse();

Stream responseStream = imageResponse.GetResponseStream();

using (BinaryReader br = new BinaryReader(responseStream))
            {
                imageBytes = br.ReadBytes(500000);
                br.Close();
            }
            responseStream.Close();
            imageResponse.Close();
var base64 = Convert.ToBase64String(imageBytes); // вот тебе и base64 string
 

Bot_Sculptor

Client
Регистрация
11.06.2012
Сообщения
787
Благодарностей
239
Баллы
43
Какие проблемы) надеюсь сможешь дальше его в антигейт отправить
C#:
string imageUrl = @"http://15procentov.ru/kcaptcha/";
byte[] imageBytes;
HttpWebRequest imageRequest = (HttpWebRequest)WebRequest.Create(imageUrl);
WebResponse imageResponse = imageRequest.GetResponse();

Stream responseStream = imageResponse.GetResponseStream();

using (BinaryReader br = new BinaryReader(responseStream))
            {
                imageBytes = br.ReadBytes(500000);
                br.Close();
            }
            responseStream.Close();
            imageResponse.Close();
var base64 = Convert.ToBase64String(imageBytes); // вот тебе и base64 string
спасибо, такие примеры находил, но тут чуть иначе хочетсо (
у тебя загрузка картинки по url, т.е. каждый раз, когда идет обращение по тому url будет новая капча.
А мне интересно перекодировать первичные данные, после первичного запроса url по get , как на скрине, вот те данные на вкладке Content - это и есть картинка капча уже, как эти данные перекинуть в base64 и что то вообще за тип данных, эти карлюки ?
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
Эти каракули скорее всего нечто похожее на hex представление картинки. Если ты скопируешь эти данные в блокнот и сохранишь его как jpg у тя сохранится картинка.

Вот для примера взял файл у меня на компе
 

Bot_Sculptor

Client
Регистрация
11.06.2012
Сообщения
787
Благодарностей
239
Баллы
43
да, я смотрел это в hex сразу, в фидлере, но что делать с ними дальше. Даже если в зенно c# получить эти данные в HEX ...
т.е. в идеале, сделать get запрос к url http://www.15procentov.ru/regist/
сразу получить base64 капчи, именно той, что появилась , при первом обращении, а не когда отдельно обращаться к url , что отдает капчу...

или как все остальные работают, с капчами через get\post запросы ?
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
Для c# картинка в гет запросе изначально это просто набор бит. Можно сделать чтобы этот набор бит был в hex отображении) можно этот набор бит сохранить в файловый поток. в fiddler (или в чем ты просматриваешь траф) программа нам отображает response как hex отображение

вот сайт http://www.rexswain.com/httpview.html посмотри. думаю ситуация прояснится
 
  • Спасибо
Реакции: Bot_Sculptor

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
или ты хочешь за один запрос сразу и капчу забрать))))))))))))?
 

Bot_Sculptor

Client
Регистрация
11.06.2012
Сообщения
787
Благодарностей
239
Баллы
43
  • Спасибо
Реакции: Radzhab

shtift

Client
Регистрация
29.07.2015
Сообщения
148
Благодарностей
291
Баллы
63
Какие проблемы) надеюсь сможешь дальше его в антигейт отправить
C#:
string imageUrl = @"http://15procentov.ru/kcaptcha/";
byte[] imageBytes;
HttpWebRequest imageRequest = (HttpWebRequest)WebRequest.Create(imageUrl);
WebResponse imageResponse = imageRequest.GetResponse();

Stream responseStream = imageResponse.GetResponseStream();

using (BinaryReader br = new BinaryReader(responseStream))
            {
                imageBytes = br.ReadBytes(500000);
                br.Close();
            }
            responseStream.Close();
            imageResponse.Close();
var base64 = Convert.ToBase64String(imageBytes); // вот тебе и base64 string
А сколько раз в этом коде идет переход по URL?
У меня задача немного иная, чем у ТС.
Ссылку на каптчу я забираю регуляркой из GET-запроса.
Если делаю просто переход по этой ссылке на каптчу и затем помечаю как "Это каптча!", то все выполняется на ура и аккаунт регистрируется. Но если вставляю в код, то каптча будто генерируется заново и при реге выдает "Каптча была введена не верно".
 
Последнее редактирование:

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
внимательнее анализируйте данные фиддлера. капчу скорее всего с куками запрашивать надо
 
  • Спасибо
Реакции: booldozer

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)