HTTP Client - cURL Impersonate [HTTP/2, TLS 1.3, BROWSER_PRESETS, WEBSOCKET]

Делитесь модулями
  • v4.0.0:

    1. fix callback фунции при ошибке. ( Requests are not allowed in callback ) Нет запретов на вызовы / сохраняется ответы сервера ДО вызова callback.
    2. Новая опция: Use http/2 (Если сервер поддерживает), если выключено - http1/1
    3. Код кубика "Прокси" перенес в engine.js чтобы не засирал код скрипта. и т.д - куча мелких правок.

    v4.0.1:

    1. fix HEAD
    2. Новая галочка перезаписывать ли куки в экшене "Загрузить куки"
    3. Исправлено: поле Cookies fast update command в "Загрузить куки" может принимать переменную-массив с параметрами.
    4. новая плюшка: При получении Error in the HTTP2 framing layer - повтор запроса внутри модуля (3попытки)

    v4.0.2:

    • Обновлена логика WebSocket:
    1. wsSend больше не возвращает ошибок. Контроль статуса выполняется через wsRecv.

    2. wsRecv: при ошибке требуется заново установить WebSocket-соединение.
      Если WS_FRAME_READY == false, значит за время таймаута данные не были получены, и при необходимости нужно повторно отправить фрейм на сервер. (с соединением все ок)

  • v4.0.3:

    1. "Использовать cookies из памяти" - если выключена то теперь не игнорирует кастомные заголовки cookie.
    2. Функция BeforeRequest в callback принимает переменную с запросом. можно через js выставить параметры, хоть юрл поменять, запретить редиректы и т.д.

    v4.0.4:

    • Возможность установки кастомной ошибки запроса в JS Callback (AfterRequest) - логика повтора запроса будет работать, если настроена.
  • Смастерил локальный веб-сервер, предоставляющий API для выполнения исходящих HTTP-запросов с использованием имперсонации TLS/JA3 отпечатков. Может пригодится кому.
    main.py impersonate_api.exe Документация.md

  • v4.0.5:

    • new curl 8.15.0
    • new impersonate 1.2.5
    1. “Use http/2” в GET/POST изменен на “Use http1/1”
    2. Пресеты:
      -Новый параметр: tls_no_padding
      -Новые параметры httpversion: + support - "2n", "2o" // read _faq.txt
      -Новые параметры ciphers: + support - TLS_EMPTY_RENEGOTIATION_INFO_SCSV

    v4.0.6:

    1. Новый параметр в настройках: Уровень логирования ошибок
    2. Позиция content-type/length имеет приоритет в кастомных заголовках, если есть.
    3. появился/возвращен экшен "Статус ответа"
    4. Префикс [cUrl Impersonate, 4/4] теперь показывает кол-во попыток если он установлен.
    5. все функции объекта impersonate можно вызывать как синхронно, так и асинхронно.
      5.1 Обновлены JS callback Before/AfterRequest новым функционалом.
  • Добрый день, есть возможность свой libcurl.dll использовать в модуле?

  • @Ferdo2 нет, это бессмысленно, смысл названия модуля будет потерян. не понимаю зачем)

  • У меня что с BAS версией libcurl.dll, что с этим не проходит проверка антикапчи на одном сервисе. При этом с этим все работает отлично - https://transfiles.ru/tsmbn . Поэтому и спрашиваю, есть ли возможность замены на свой libcurl

  • @Ferdo2 напиши мне в тг. Скинь демо проект

  • @Ferdo2 said in HTTP Client - cURL Impersonate [HTTP/2, TLS 1.3, BROWSER_PRESETS, WEBSOCKET]:

    что с этим не проходит проверка антикапчи на одном сервисе

    Этот модуль заточен под мобильные/десктоп браузеры. Скорее всего вы его не настроили модуль.

  • Добрый день, не было времени к сожалению ответить. Вот это действие BAS (post запрос). С обычным libcurl из BAS и из этого модуля выдает ошибку. С моим libcurl проходит (точнее сказать с обычным, просто скачанным с гугла 8.x версии).

    https://pastein.ru/t/QLe

  • @Ferdo2

    Все работает. На моем модуле.

  • Запускаю только что - ошибку выдает(капча в ответе). Что за кубик настроек вначале стоит и какая версия BAS ?

    Если только это не какая-то другая версия модуля, которая выложена в этой ветке

  • @Ferdo2 said in HTTP Client - cURL Impersonate [HTTP/2, TLS 1.3, BROWSER_PRESETS, WEBSOCKET]:

    только это не какая-то другая версия модуля

    @Int64 said in HTTP Client - cURL Impersonate [HTTP/2, TLS 1.3, BROWSER_PRESETS, WEBSOCKET]:

    Сообщить о багах, запросить функционал, узнать быстрее о новых версиях: https://t.me/+GOaP7_wpoWY0MmMy

  • @Ferdo2 said in HTTP Client - cURL Impersonate [HTTP/2, TLS 1.3, BROWSER_PRESETS, WEBSOCKET]:

    . Что за кубик настроек вначале стоит

  • Благодарю🙏

  • v4.0.7:

    1. Фикс порядка параметров в POST для конструктора параметров. Ранее данные отправлялись в другом порядке, а не в указанном.
    2. Блок Ошибка для GET/POST новые параметры. Смотри фото ниже.

    v4.0.8:

    1. Корректный парсинг данных в конструкторе данных запроса ( POST ) - Теперь узнает правильно узнает типы данных. Число будет числом, строка строкой и т.д
    2. Фикс http2 priority frame. Не добавлялся с V3.0.7 😳
    3. Обновлен пресет:
      • BOOL параметры: "tls_status_request", "http2_no_priority"
      • (не требуются): "tls_use_firefox_tls13_ciphers", "use_firefox_tls13_ciphers"

    v4.0.9:

    1. GET/POST JS BeforeRequestCallback вызывается каждый раз при повторах. Ранее вызывался только при старте запроса одноразово.

    2. Remote build moduledll.dll (test):
      Позволяет сжать весь модуль до (0.5 мб). - Скачивает зависимости при первом запуске, далее кэширует файлы. Смотри папку remote.

  • v4.1.0, 4.1.1:

    1. Изменен сервер активации: cdn.fundata.fun
    2. Новый экшен "Индекс http клиента"
    3. Новый параметр GET/POST : "Асинхронный вызов" - Вызывайте запросы в новом потоке, без ожидания!
    4. OnErrorCallback, AfterRequestCallback принимает также (request, retry) объекты, как и BeforeRequestCallback.
    5. Выполнить JavaScript - Обновил редактор кода, теперь показывает подсказки API Impersonate.
    6. Обновил Crypto модуль (RSA)
    7. Добавил много подсказок к разному функционалу.
    8. По дефолту теперь Remote Build (Экономия веса проекта): https://github.com/Int64x86/moduleDll
    9. Много мелких правок.