Капча по ссылке в зеннодроид.

area_15

Пользователь
Регистрация
23.01.2021
Сообщения
80
Благодарностей
13
Баллы
8
Доброго дня! Работаю с ВК, часть работы скрипта выполняется с помощью HTTP запросов и в одном из запросов необходимо отработать капчу. В зеннопостере есть кубик "скачать картинку по юрл", в зеннодроиде такого нету, а вк отдает капчу в формате https:\/\/api.vk.com\/captcha.php?sid=812596459613. Не открывать же ее через браузер эмулятора... Подскажи, какое решение может быть у этой задачи, спасибо!
 

area_15

Пользователь
Регистрация
23.01.2021
Сообщения
80
Благодарностей
13
Баллы
8
Очевидно, что решение в том, чтобы скачать картинку по этой ссылке и решить капчу с помощью кубика решения капчи с указанием пути, но как сохранить эту картинку я не понимаю.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 727
Баллы
113
Очевидно, что решение в том, чтобы скачать картинку по этой ссылке и решить капчу с помощью кубика решения капчи с указанием пути, но как сохранить эту картинку я не понимаю.
а чо в Дроиде нет кубика запросов ? или C# код по скачиванию файла не работает в Дроиде ?
Вроде бы обещали совместимость с 7-й зенкой.
 
  • Спасибо
Реакции: area_15

area_15

Пользователь
Регистрация
23.01.2021
Сообщения
80
Благодарностей
13
Баллы
8
а чо в Дроиде нет кубика запросов ? или C# код по скачиванию файла не работает в Дроиде ?
Вроде бы обещали совместимость с 7-й зенкой.
Есть, но чтобы выполнить скачивание посредствам C# кода нужно уметь это делать. Подсмотрел код в соседней темы по этому вопросу, однако в моем случае картинка не сохраняется в папку, хоть и пишет, что проект выполнен успешно. Возможно потому, что ссылка на капчу ВК не имеет формат изображения и такой вариант не подходит.
C#:
//укаем УРЛ картинки
string url = @"https://pp.userapi.com/c836336/v836336717/55e5e/oPovdTJx0EE.jpg";

ZennoPoster.HttpGet(
    url, // адрес картинки
    "", // прокси если нужно
    "UTF-8", // кодировка
    ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.File, // говоим что нужно скачать фаил
    30000, // ждем ответ от сервера
    "", //куки если нужно
    "", //юзерагент если нужно
    true, // использовать редирект
    3, // количество редиректов
    new String[]{}, // заголовки если нужно
    @"E:\", // куда сохранить фаил
    true // использовать оригенальный УРЛ
);
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 727
Баллы
113
получает картинку в base64, ну а сохранить в файл или же сразу отправить куда следует, я думаю трудов не составит загуглить по форуму :bk:
ну там прокси, шмокси, заголовки, куки контейнер это уже под себя настроить напильником :D

Надо допилить напильником, для получения истребителя :):
string url = @"https://api.vk.com/captcha.php?sid=812596459613";
string imageString = "";
string referer = "";
string proxy = instance.GetProxy();  // Прокси. Если не используется, то устанавливаем пустую строку.
string encoding = "UTF-8"; //Кодировка
int Req_timeout = 25000; //Таймаут запроса
string userAgent = project.Profile.UserAgent; //Юзерагент
bool useRedirect = false;
int maxRedirectCount = 3;
ZennoLab.InterfacesLibrary.Enums.Http.ResponceType ResponceType = ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly;

string[] arrAdditionalHeaders = new string[]
{
    "Referer: " + referer,
                                "User-Agent:" + project.Profile.UserAgent,
                                "Accept: " + project.Profile.HTTPAccept,
                                "Accept-Language: " + project.Profile.AcceptLanguage,
                                "Connection: keep-alive"
};
byte[] GetBytes = ZennoLab.CommandCenter.ZennoPoster.HTTP.RequestBytes(
                                    InterfacesLibrary.Enums.Http.HttpMethod.GET,
                                    url,
                                    content : new byte[0],
                                    respType : ResponceType,
                                    proxy : proxy,
                                    Timeout : Req_timeout,
                                    AdditionalHeaders : arrAdditionalHeaders,
                                    cookieContainer : project.Profile.CookieContainer
                                    );
imageString = Convert.ToBase64String(GetBytes);
//------------------------------------------------------------------------------------       

return imageString;
 
  • Спасибо
Реакции: area_15

area_15

Пользователь
Регистрация
23.01.2021
Сообщения
80
Благодарностей
13
Баллы
8
получает картинку в base64, ну а сохранить в файл или же сразу отправить куда следует, я думаю трудов не составит загуглить по форуму :bk:
ну там прокси, шмокси, заголовки, куки контейнер это уже под себя настроить напильником :D

Надо допилить напильником, для получения истребителя :):
string url = @"https://api.vk.com/captcha.php?sid=812596459613";
string imageString = "";
string referer = "";
string proxy = instance.GetProxy();  // Прокси. Если не используется, то устанавливаем пустую строку.
string encoding = "UTF-8"; //Кодировка
int Req_timeout = 25000; //Таймаут запроса
string userAgent = project.Profile.UserAgent; //Юзерагент
bool useRedirect = false;
int maxRedirectCount = 3;
ZennoLab.InterfacesLibrary.Enums.Http.ResponceType ResponceType = ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly;

string[] arrAdditionalHeaders = new string[]
{
    "Referer: " + referer,
                                "User-Agent:" + project.Profile.UserAgent,
                                "Accept: " + project.Profile.HTTPAccept,
                                "Accept-Language: " + project.Profile.AcceptLanguage,
                                "Connection: keep-alive"
};
byte[] GetBytes = ZennoLab.CommandCenter.ZennoPoster.HTTP.RequestBytes(
                                    InterfacesLibrary.Enums.Http.HttpMethod.GET,
                                    url,
                                    content : new byte[0],
                                    respType : ResponceType,
                                    proxy : proxy,
                                    Timeout : Req_timeout,
                                    AdditionalHeaders : arrAdditionalHeaders,
                                    cookieContainer : project.Profile.CookieContainer
                                    );
imageString = Convert.ToBase64String(GetBytes);
//------------------------------------------------------------------------------------      

return imageString;
Дальше разобрался, благодарен за помощь!
 

area_15

Пользователь
Регистрация
23.01.2021
Сообщения
80
Благодарностей
13
Баллы
8
получает картинку в base64, ну а сохранить в файл или же сразу отправить куда следует, я думаю трудов не составит загуглить по форуму :bk:
ну там прокси, шмокси, заголовки, куки контейнер это уже под себя настроить напильником :D

Надо допилить напильником, для получения истребителя :):
string url = @"https://api.vk.com/captcha.php?sid=812596459613";
string imageString = "";
string referer = "";
string proxy = instance.GetProxy();  // Прокси. Если не используется, то устанавливаем пустую строку.
string encoding = "UTF-8"; //Кодировка
int Req_timeout = 25000; //Таймаут запроса
string userAgent = project.Profile.UserAgent; //Юзерагент
bool useRedirect = false;
int maxRedirectCount = 3;
ZennoLab.InterfacesLibrary.Enums.Http.ResponceType ResponceType = ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly;

string[] arrAdditionalHeaders = new string[]
{
    "Referer: " + referer,
                                "User-Agent:" + project.Profile.UserAgent,
                                "Accept: " + project.Profile.HTTPAccept,
                                "Accept-Language: " + project.Profile.AcceptLanguage,
                                "Connection: keep-alive"
};
byte[] GetBytes = ZennoLab.CommandCenter.ZennoPoster.HTTP.RequestBytes(
                                    InterfacesLibrary.Enums.Http.HttpMethod.GET,
                                    url,
                                    content : new byte[0],
                                    respType : ResponceType,
                                    proxy : proxy,
                                    Timeout : Req_timeout,
                                    AdditionalHeaders : arrAdditionalHeaders,
                                    cookieContainer : project.Profile.CookieContainer
                                    );
imageString = Convert.ToBase64String(GetBytes);
//------------------------------------------------------------------------------------      

return imageString;
Все-таки остался один вопрос, а что в кубик с кодом нельзя вложить переменную?
95250

Мне ведь необходимо каждый раз парсить новую ссылку, а с переменной код не выполняется
 

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