Решение задачи

FreddyKrueger

Client
Регистрация
06.09.2016
Сообщения
653
Благодарностей
466
Баллы
63
Задача следующая. Есть готовый сниппет:
Код:
string url = @"https://site.ru/cgi-bin/captcha&random="+ project.Variables["get_rnd_key"].Value +".png";
ZennoPoster.HttpGet(
    url, // адрес картинки
    "", // прокси если нужно
    "UTF-8", // кодировка
    ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.File, // скачиваем файл
    30000, // ждем ответ от сервера
    "", //куки если нужно
    "", //юзерагент если нужно
    true, // использовать редирект
    3, // количество редиректов
    new String[]{}, // заголовки если нужно
    @"D:\Zenno\Капча\", // куда сохранить фаил
    true // использовать оригинальный url
);
Вот первая строка в сниппете:
string url = @"https://site.ru/cgi-bin/captcha&random="+ project.Variables["get_rnd_key"].Value +".png";
Это GET запрос для получения капчи. Переменная get_rnd_key является идентификатором капчи, он плюсуется к основной ссылке. И в конце добавляется расширение png.
На выходе получается сохраненная капча по пути D:\Zenno\Капча\ c названием "captcha.png"
А передо мной стоит задача, чтобы капча сохранялась в таком виде: captchaXXXXX.png
где XXXXX это значение переменной {-Variable.rnd_CaptchaName-} , которая будет генерироваться кубиком "рандом".

@"D:\Zenno\Капча\", // куда сохранить фаил
Если к пути сохранения добавлять переменную, то создастся папка со значением переменной. А мне нужно именно к файлу добавить, чтобы рандомизировать название и при этом не менять ссылку.

Спросил у некоторых знатоков, сходу решения мне предоставить не смогли. Как я понял к данному сниппету будет проблематично что то дописать. Мне предложили иной вариант - гет запросом получать содержимое капчи, а потом код добавлять в файл и сохранять как png с нужным названием. На данный момент я не нашел никакой информации по этому моменту на форуме, на стандартных экшенах "гет" и "файл" реализовать такое не получается, нужен C# код.


Мой GET\POST шаблон работает на 300-500 потоках, поэтому сразу скажу, что делать лишние циклы, проверки и кастыли - это не решение проблемы. Цель в том, чтобы полностью избавиться от пересечения потоков, а для этого нужно или скачивать капчу гет запросом, присваивая уникальное имя, или же создавать файл по средствам содержимого гет запроса.


P.S. самое интересное, что сниппет я нашел в посте другого человека, который задавался тем же вопросом, но ему так и не ответили. http://zennolab.com/discussion/threads/besplatnye-snipety-na-zakaz.23450/page-41#post-308852 Думаю, что решение данной ситуации будет полезно и информативно для тех кто столкнется с похожей задачей. Буду признателен за любую подсказку по конкретно поставленным задачам.
 
Последнее редактирование:

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