Leaf.xNet - Библиотека для работы с запросами: Get, Post, Put, Path, Delete, Option.

А можете показать пример как добавить в request куки из zenno профиля?
 
А можете показать пример как добавить в request куки из zenno профиля?

Можно попробовать получить массив байт, через export и уже его добавить в контейнер для request.

C#:
Развернуть Свернуть Копировать
HttpRequest request = new HttpRequest();

// Получаем массив байт из CookieContainer профиля проекта.
byte[] decByte = project.Profile.CookieContainer.Export();

// Загрузка CookieStorage массива байт - byte[].
request.Cookies = CookieStorage.FromBytes(decByte);
 
Отличная статья, давно хотел с этой библиотекой поработать) Но не находил норм примеров)
 
  • Спасибо
Реакции: RoyalBank
Можно попробовать получить массив байт, через export и уже его добавить в контейнер для request.

C#:
Развернуть Свернуть Копировать
HttpRequest request = new HttpRequest();

// Получаем массив байт из CookieContainer профиля проекта.
byte[] decByte = project.Profile.CookieContainer.Export();

// Загрузка CookieStorage массива байт - byte[].
request.Cookies = CookieStorage.FromBytes(decByte);

Такая ошибка получается
Выполнение действия CSharp OwnCode. Недопустимый двоичный формат входного потока. Начало содержимого (в байтах): 2E-6E-69-6B-65-2E-63-6F-6D-09-54-52-55-45-09-2F-09 ...
 
Возможно хорошая статья, но походу от профессионала для профессионалов...
т.е. пару строк про библиотеку и пол-тонны кода...
вопрос: зачем она нужна? зенка работает с пост-гет запросами, т.е. много кода есть, но зачем весь этот код просто упущено из контекста, вступления не хватает и как применять на практике.
 
зачем она нужна?
Если вы делаете шаблоны на кубиках и этот функционал закрывает все потребности, то переходить на код или сторонние библиотеки нет необходимости. Но если если ваша ситуация выходит за рамки базового функционала, то нужно писать в коде. В этом случае, можно воспользоваться методами от разработчиков, либо взять стороннее решение, как эта библиотека.
 
Если вы делаете шаблоны на кубиках и этот функционал закрывает все потребности, то переходить на код или сторонние библиотеки нет необходимости. Но если если ваша ситуация выходит за рамки базового функционала, то нужно писать в коде. В этом случае, можно воспользоваться методами от разработчиков, либо взять стороннее решение, как эта библиотека.

вот этой вот ремарки и не хватило в начале статьи, т.к. профи живущий зенкой итак найдёт нужную библиотеку от разработчика на стороннем сайте, прочтёт её описание с примерами и применит её у себя, но мне "дубовому" эта статья так и не объяснила как применить эту библиотеку на практике...
 
но мне "дубовому" эта статья так и не объяснила как применить эту библиотеку на практике...
Для этого и существует обсуждение, спрашивайте, какие возникли вопросы в применении на практике...
 
интересная библиотека) спасибо
 
  • Спасибо
Реакции: RoyalBank
Как задать кодировку для запроса? Сайт с кодировкой windows-1251.
 
Как задать кодировку для запроса? Сайт с кодировкой windows-1251.

Необходимо добавить свойство CharacterSet для запроса.

C#:
Развернуть Свернуть Копировать
request.CharacterSet = "windows-1251";
 
RoyalBank подскажи пожалуйста, можно ли библиотекой отправлять запросы без открытия каждый раз соединения перед запросом? Xnet-ом я что-то так и не смог этого добиться, она каждый раз перед каждым запросом устанавливает соединение с сервером, потом посылает запрос.

P.S разобрался, методом тыка выяснил, что нельзя некоторые параметры для HttpRequest такие как например проксиклиент назначать в процессе работы, тогда будет выбивать на новое соединение. Может еще какие-то нельзя. Их надо выносить в участок кода где назначение происходит один раз, тогда будет работать!

1611591482469.png
 
Последнее редактирование:
  • Спасибо
Реакции: Alexmd и RoyalBank
C#:
Развернуть Свернуть Копировать
var multipartContent = new MultipartContent()
{
    {new StringContent("Harry Potter"), "login"},
    {new StringContent("Crucio"), "password"},
    {new FileContent(@"C:\hp.rar"), "file1", "hp.rar"}
};
var httpResponse = request.Post("https://zennolab.com", multipartContent);

А смог кто-то победить этот miltipart с русским названием файла?
C#:
Развернуть Свернуть Копировать
{new FileContent(@"C:\hp.rar"), "file1", "Название-Файла.rar"}

Если в параметр filename задать русский текст, имя файла превратится в ?????.

upd:
при чём путь к файлу с русскими символами он хавает, а имя файла нет.
 
Есть сайт раньше работал с ним на гет\пост всё норм было
С недавних пор владелец поставил на него клауд файр защиту и теперь любой Гет\Пост запрос даже полностью скопированный с браузера со всеми куками и даже самый первый в котором в принципе кук и не должно быть возвращает это
76832

Поспрашивал на разных форумах сказали проверяют поддержку js либо запросы curl на уровне nginx отсекают или куки на каждый запрос меняет, либо проверяет ssl шифры на соответствие UА
Я в этом полный нуб, поэтому такой вопрос если сделать запросы через эту библиотеку а не стандартные http кубики поможет ли обойти данную проблему
 
Я в этом полный нуб, поэтому такой вопрос если сделать запросы через эту библиотеку а не стандартные http кубики поможет ли обойти данную проблему
нет, заходи на страницу с браузером, получай куки и по идее дальше снова можешь на пост гет уйти
 
нет, заходи на страницу с браузером, получай куки и по идее дальше снова можешь на пост гет уйти
К сожалению не всё так просто. Я раньше так и делал парсил куки с браузерной версии и потом уже на запросах работал. Теперь тут при любом запросе от http сразу клауд фаер посылает нахрен нужен какой-то другой обход
 
подскажите пожалуйста как получить заголовки запроса, не получаеться что то
 
@RoyalBank Добрый день! Не могли бы вы описать парсинг с авторизацией в общих чертах, я обучаюсь и это пока темный лес для меня. Или указать на наглядный пример. Спасибо
 
@RoyalBank Добрый день! Не могли бы вы описать парсинг с авторизацией в общих чертах, я обучаюсь и это пока темный лес для меня. Или указать на наглядный пример. Спасибо
Авторизация рассматривается индивидуально для каждого сайта. Как правило, простые решения сводятся к монитору траффика и кукам. Сложные решения требуют наличия поэтапного алгоритма шифрования пароля и прочие радости в виде двух факторной аутентификации и т.д.

Могу рекомендовать пытаться повторить авторизацию сначала кубиками, а затем переносить в код. Если будет загвоздка, то создавайте тему, прикрепляйте шаблон, описывайте суть проблемы, в этом случае у других участников будет возможность помочь.
 
  • Спасибо
Реакции: IH4w6UuEMt
Или указать на наглядный пример. Спасибо
Посмотрите с разделе с готовыми бесплатными шаблонами, может найдете подходящий пример, а потом переводите уже в код.
 
  • Спасибо
Реакции: IH4w6UuEMt
Подскажите, а есть ли возможность поменять порядок заголовков?
 
Здравствуйте , подскажите по ошибке .
Выполнение действия CSharp OwnCode. Unable to establish SSL-connection with HTTP-server 'тут ссылка хоста сайта'.
 
Unable to establish SSL-connection with HTTP-server
Как вариант, прокси забанен хостом, либо ошибка со стороны прокси, пробуйте отладку запроса в цикле, при подобной ошибке пробовать повторно отправлять.
 
Как вариант, прокси забанен хостом, либо ошибка со стороны прокси, пробуйте отладку запроса в цикле, при подобной ошибке пробовать повторно отправлять.
Нашёл проблему, http analyzer мешал запросу. Выключил его, запрос сработал
 
Подскажите, почему сделал как в статье
req.Cookies.Set("cookie", cookie, "zennolab.com", "/");
но крашится кубик на этом шаге с ошибкой Необратимое исключением System.NullReferenceException: Ссылка на объект не указывает на экземляр объекта..


Добавил вначале
req.Cookies = new CookieStorage();
и using прописал как в теме, теперь ошибка The type or namespace name CookieStorage could not be found

оказывается нужно полный путь писать req.Cookies = new Leaf.xNet.CookieStorage();
 
Последнее редактирование:

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