Обход TLS отпечатков при работе через Post/Get для Akamai и Cloudflare и для других сайтов

Слишком общие вводные.
Хром по умолчанию юзает http3. Это для примера.
Курл на вашем решении позволит обойти фильтры, которые используют скомпрометированные отпечатки в качестве цели проверки.
И вы ничего не сделаете с системами, которые жестко требуют конкретный отпечаток конкретному юзер агенту.

Добавлю:
Так же, если вы прикидываетесь браузером, но планируете использовать http2, рекомендую подумать над ответами на вопросы:
1) Когда серверы обменивались рукопожатиями, ваш клиент заявлял поддержку http3? Курл это делает по умолчанию;
2) Почему вы после этого вдруг перешли на http2? Или вы заявили, что только http2 сразу? Тогда ты заведомо не рядовой пользователь;
3) Но сработать может, особенно если вы обращаетесь из РФ в буржунет, потому что именно так себя и ведет Хром в условиях блока трафика http3 на границе, правда вы выдадите геопозицию с потрохами, даже если за проксиком будете сидеть;
4) и много других интересных вопросов...

Ни в коем случае не собираюсь спорить и темболее учить кого либо. Ну не стоит вводить пользователей в заблуждение якобы заумными словами за которые Вы не отдаете отчет.

1. Понятия использования протокола по умолчанию НЕТ (что в CURL что в Хроме). Есть понятие поддерживаемые протоколы. А как уже общается сервер/клиент решает первое рукопожатие. (Только если Вы принудительно не указываете версию протокола).

2. Как работать с тем или иным сайтом и какой протокол использовать можно легко понять используя снифферы по типу BurpSuite.
(К слову огромное количество мобильных приложений по сей день используют 1.1) А тот же Instagram который давно поддерживает h3 - почему то предпочитает общение по второму протоколу в Chrome.

3. Постер тупо не поддерживает протокол 2.0. netframework может работать только по http1.1. Именно это заставило меня перейти на самописцы, так как раньше проблема с клаудом решалась простой сменой протокола (Что в новых версиях .Net поддерживается), сейчас все сводится к TLS и приходится использовать костыли.

4. Сбор отпечатков браузера, CloudFlare-у это нафиг не надо. Это очень ресурсоемкий процесс и ппц как повлияет на скорость работы и без того заторможенного клауда.
(Гораздо выгоднее просто проверять запрос и именно его отпечаток). Вы путаете отпечаток UA с отпечатками запросов.

Дабы рассеять все мифы, просто давайте эксперимент. Любой UA, что угодно... Отправляете запрос на https://www.coingecko.com/ через ProjectMaker
(Получите блок от клауда)
Раньше получалось обойти просто сменой протокола... Сейчас требуется Curl.


Теперь берем Curl, подставляем любой UA (Хоть Mozilla/5.0 BOT) и наблюдаем как успешно мы проходим CloudFlare.

Я бы советовал написать своей сервер который бы принимал запрос из ProjectMaker-а, обрабатывал и слал их дальше при помощи Curl.
 
Всем привет. Благодаря статье получилось обойти защиту клауда в приложении на обычных http запросах. Проблема возникла при отправке сообщений в приле, сообщения на websocket. Несколько дней бьюсь, не могу одолеть. Подскажите есть вариант обойти clouflare на wss запросах? Пробовал и в node и на питоне провернуть, нифига
 
Всем привет. Благодаря статье получилось обойти защиту клауда в приложении на обычных http запросах. Проблема возникла при отправке сообщений в приле, сообщения на websocket. Несколько дней бьюсь, не могу одолеть. Подскажите есть вариант обойти clouflare на wss запросах? Пробовал и в node и на питоне провернуть, нифига

Вот как раз занимаюсь этим, дам знать если выйдет.
 
  • Спасибо
Реакции: radar777
Всем привет. Благодаря статье получилось обойти защиту клауда в приложении на обычных http запросах. Проблема возникла при отправке сообщений в приле, сообщения на websocket. Несколько дней бьюсь, не могу одолеть. Подскажите есть вариант обойти clouflare на wss запросах? Пробовал и в node и на питоне провернуть, нифига

Увы именно WebSockets курл делает криво, я думал так же получится им обойти, но увы нет.

На данный момент единственный вариант который пройдет - Headless браузер.
 
  • Спасибо
Реакции: denisvan90
Всем привет. Благодаря статье получилось обойти защиту клауда в приложении на обычных http запросах. Проблема возникла при отправке сообщений в приле, сообщения на websocket. Несколько дней бьюсь, не могу одолеть. Подскажите есть вариант обойти clouflare на wss запросах? Пробовал и в node и на питоне провернуть, нифига


Не, ошибся, работает все!

Успешно подключился там где это запрещено.
Качайте последний Curl с поддержкой wss и работайте.

Проверил на сайте где не работает обычным подключением и сделал Curl-ом. Успешно подключился, далее дело техники.


C#:
Развернуть Свернуть Копировать
var curlPath = @"C:\Curl\bin\curl.exe";

    var args = @"
-v \
-k \
--http2 --no-buffer \
--include \
--proxy http://127.0.0.1:8080 \
-H ""Host: ws.example.com"" \
-H ""User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:138.0) Gecko/20100101 Firefox/138.0"" \
-H ""Connection: Upgrade"" \
-H ""Upgrade: websocket"" \
-H ""Sec-WebSocket-Version: 13"" \
-H ""Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits"" \
-H ""Accept: */*"" \
-H ""Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"" \
-H ""Accept-Encoding: deflate"" \
-H ""Origin: https://www.example.com"" \
-H ""Sec-Fetch-Dest: empty"" \
-H ""Sec-Fetch-Mode: websocket"" \
-H ""Sec-Fetch-Site: same-site"" \
-H ""Pragma: no-cache"" \
-H ""Cache-Control: no-cache"" \
""wss://ws.example.com/""";

    var psi = new ProcessStartInfo
    {
      FileName = curlPath,
      Arguments = args.Replace("\r\n", " ").Trim(),
      RedirectStandardOutput = true,
      RedirectStandardError = true,
      UseShellExecute = false,
      CreateNoWindow = true
    };

    using var proc = new Process { StartInfo = psi };
    proc.OutputDataReceived += (s, e) => { if (e.Data != null) Console.WriteLine(e.Data); };
    proc.ErrorDataReceived  += (s, e) => { if (e.Data != null) Console.Error.WriteLine(e.Data); };

    proc.Start();
    proc.BeginOutputReadLine();
    proc.BeginErrorReadLine();
    await proc.WaitForExitAsync();
  }
 
Не, ошибся, работает все!

Успешно подключился там где это запрещено.
Качайте последний Curl с поддержкой wss и работайте.

Проверил на сайте где не работает обычным подключением и сделал Curl-ом. Успешно подключился, далее дело техники.


C#:
Развернуть Свернуть Копировать
var curlPath = @"C:\Curl\bin\curl.exe";

    var args = @"
-v \
-k \
--http2 --no-buffer \
--include \
--proxy http://127.0.0.1:8080 \
-H ""Host: ws.example.com"" \
-H ""User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:138.0) Gecko/20100101 Firefox/138.0"" \
-H ""Connection: Upgrade"" \
-H ""Upgrade: websocket"" \
-H ""Sec-WebSocket-Version: 13"" \
-H ""Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits"" \
-H ""Accept: */*"" \
-H ""Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"" \
-H ""Accept-Encoding: deflate"" \
-H ""Origin: https://www.example.com"" \
-H ""Sec-Fetch-Dest: empty"" \
-H ""Sec-Fetch-Mode: websocket"" \
-H ""Sec-Fetch-Site: same-site"" \
-H ""Pragma: no-cache"" \
-H ""Cache-Control: no-cache"" \
""wss://ws.example.com/""";

    var psi = new ProcessStartInfo
    {
      FileName = curlPath,
      Arguments = args.Replace("\r\n", " ").Trim(),
      RedirectStandardOutput = true,
      RedirectStandardError = true,
      UseShellExecute = false,
      CreateNoWindow = true
    };

    using var proc = new Process { StartInfo = psi };
    proc.OutputDataReceived += (s, e) => { if (e.Data != null) Console.WriteLine(e.Data); };
    proc.ErrorDataReceived  += (s, e) => { if (e.Data != null) Console.Error.WriteLine(e.Data); };

    proc.Start();
    proc.BeginOutputReadLine();
    proc.BeginErrorReadLine();
    await proc.WaitForExitAsync();
  }
Домой приеду, проверю обязательно. Спасибо
 
C#:
Развернуть Свернуть Копировать
var curlPath = @"C:\Users\Administrator\Desktop\prila\curl\bin\curl.exe";

var args = @"
-v -k
--http2 --no-buffer
--include
--proxy http://127.0.0.1:8080/api/forward
--proxy-header ""User-Agent: prila/5241;137249;Free;Android 9;SM-G9880;samsung""
--proxy-header ""x-api-key: my-auth-key-1""
-H ""Host: grindr.mobi""
-H ""Accept: application/json""
-H ""Accept-Encoding: gzip""
-H ""Accept-language: en""
-H ""Authorization: Prila eyJhbGci...""
-H ""Connection: Upgrade""
-H ""user-agent: prila/5241;137249;Free;Android 9;SM-G9880;samsung""
-H ""Upgrade: websocket""
-H ""Sec-WebSocket-Version: 13""
-H ""Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits""
-H ""L-Device-Info: 2d364d8fe52074a5;GLOBAL;2;4137938944;960x540;c5e5f6b7-563a-45c0-a5dd-32ec57c68e6a""
-H ""L-Grindr-Roles: []""
-H ""L-Locale: en""
-H ""L-Time-Zone: America/Los_Angeles""
-H ""Sec-WebSocket-Key: z+Q1RSTVeEgkwjSPbeccwQ==""
-H ""Pragma: no-cache""
-H ""Cache-Control: no-cache""
--data-raw '{""payload"":{""type"":""Text"",""target"":{""type"":""Direct"",""targetId"":33048960},""body"":{""text"":""yes""},""ref"":""677e1b43-b065-46e8-ad77-e70d13105a3d""},""ref"":""677e1b43-b065-46e8-ad77-e70d13105a3d"",""token"":""eyJhbGci...""}'
""wss://prila.mobi/v1/ws""";

var psi = new System.Diagnostics.ProcessStartInfo
{
    FileName = curlPath,
    Arguments = args.Replace("\n", " ").Replace("\r", " ").Trim(),
    RedirectStandardOutput = true,
    RedirectStandardError = true,
    UseShellExecute = false,
    CreateNoWindow = true
};

var proc = new System.Diagnostics.Process { StartInfo = psi };

proc.Start();

string output = proc.StandardOutput.ReadToEnd();
string error = proc.StandardError.ReadToEnd();

proc.WaitForExit();

project.SendInfoToLog("Output:\n" + output, true);
project.SendInfoToLog("Error:\n" + error, true);
 
Протестил. у меня не прокатывает.
Получаю такой ответ.
Error:
Note: Using embedded CA bundle (233263 bytes)
Note: Using embedded CA bundle, for proxies (233263 bytes)
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 127.0.0.1:8080...
* CONNECT tunnel: HTTP/1.1 negotiated
* allocate connect buffer
* Establish HTTP proxy tunnel to prila.mobi:443
> CONNECT prila.mobi:443 HTTP/1.1
> Host: prila.mobi:443
> Proxy-Connection: Keep-Alive
> User-Agent: prila/5241;137249;Free;Android 9;SM-G9880;samsung
> x-api-key: my-auth-key-1
>
< HTTP/1.1 404 Not Found
< Content-Type: text/plain
< Date: Wed, 30 Apr 2025 13:58:32 GMT
< Content-Length: 18
<
* CONNECT tunnel failed, response 404
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
* closing connection #0
curl: (56) CONNECT tunnel failed, response 404
"
 
Протестил. у меня не прокатывает.
Получаю такой ответ.
Error:
Note: Using embedded CA bundle (233263 bytes)
Note: Using embedded CA bundle, for proxies (233263 bytes)
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 127.0.0.1:8080...
* CONNECT tunnel: HTTP/1.1 negotiated
* allocate connect buffer
* Establish HTTP proxy tunnel to prila.mobi:443
> CONNECT prila.mobi:443 HTTP/1.1
> Host: prila.mobi:443
> Proxy-Connection: Keep-Alive
> User-Agent: prila/5241;137249;Free;Android 9;SM-G9880;samsung
> x-api-key: my-auth-key-1
>
< HTTP/1.1 404 Not Found
< Content-Type: text/plain
< Date: Wed, 30 Apr 2025 13:58:32 GMT
< Content-Length: 18
<
* CONNECT tunnel failed, response 404
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
* closing connection #0
curl: (56) CONNECT tunnel failed, response 404
"

Дали бы правильный адресс гей приложения уже ))))

Я пробовал подставить wss://grindr.mobi - но пишет что Origin DNS error.

Ну вообщем попробуйте так


C#:
Развернуть Свернуть Копировать
var args = @"
-v \
-k \
--http1.1 --no-buffer \
--include \
--proxy http://127.0.0.1:8080 \
--proxytunnel \
-H ""Host: ws.grindr.mobi"" \
-H ""User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:138.0) Gecko/20100101 Firefox/138.0"" \
-H ""Connection: Upgrade"" \
-H ""Upgrade: websocket"" \
-H ""Sec-WebSocket-Version: 13"" \
-H ""Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits"" \
-H ""Accept: */*"" \
-H ""Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"" \
-H ""Accept-Encoding: deflate"" \
-H ""Origin: https://grindr.mobi"" \
-H ""Sec-Fetch-Dest: empty"" \
-H ""Sec-Fetch-Mode: websocket"" \
-H ""Sec-Fetch-Site: same-site"" \
-H ""Pragma: no-cache"" \
-H ""Cache-Control: no-cache"" \
""wss://grindr.mobi""";
 
  • Спасибо
Реакции: radar777 и S10n4eg
А и да... Не используйте фиговые снифферы. Снифферы переделывают запрос который перенаправляют. Лично я тестировал на BurpSuite.

Тот же Charles - не работает

Ну либо вообще на момент теста - убирайте прокси.

Если будете дальше делать и писать фреймы для отправки сообщений по вебсокетам, будет приятно если поделитесь кодом. Сейчас нет времени разбираться. А там очень много мороки.
 
  • Спасибо
Реакции: radar777 и S10n4eg
Методом тыка догадался ))))

Вот, у меня успешно подключилось


C#:
Развернуть Свернуть Копировать
var args = @"
-v \
-k \
--http1.1 --no-buffer \
--include \
--proxytunnel \
-H ""Host: grindr.mobi"" \
-H ""User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:138.0) Gecko/20100101 Firefox/138.0"" \
-H ""Connection: Upgrade"" \
-H ""Upgrade: websocket"" \
-H ""Sec-WebSocket-Version: 13"" \
-H ""Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits"" \
-H ""Accept: */*"" \
-H ""Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"" \
-H ""Accept-Encoding: deflate"" \
-H ""Sec-Fetch-Dest: empty"" \
-H ""Sec-Fetch-Mode: websocket"" \
-H ""Sec-Fetch-Site: same-site"" \
-H ""Pragma: no-cache"" \
-H ""Cache-Control: no-cache"" \
""wss://grindr.mobi/v1/ws""";

П.С. Не подставляйте сами ключи. Curl их сам сгенерирует.
 
  • Спасибо
Реакции: radar777
Дали бы правильный адресс гей приложения уже ))))

Я пробовал подставить wss://grindr.mobi - но пишет что Origin DNS error.

Ну вообщем попробуйте так


C#:
Развернуть Свернуть Копировать
var args = @"
-v \
-k \
--http1.1 --no-buffer \
--include \
--proxy http://127.0.0.1:8080 \
--proxytunnel \
-H ""Host: ws.grindr.mobi"" \
-H ""User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:138.0) Gecko/20100101 Firefox/138.0"" \
-H ""Connection: Upgrade"" \
-H ""Upgrade: websocket"" \
-H ""Sec-WebSocket-Version: 13"" \
-H ""Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits"" \
-H ""Accept: */*"" \
-H ""Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"" \
-H ""Accept-Encoding: deflate"" \
-H ""Origin: https://grindr.mobi"" \
-H ""Sec-Fetch-Dest: empty"" \
-H ""Sec-Fetch-Mode: websocket"" \
-H ""Sec-Fetch-Site: same-site"" \
-H ""Pragma: no-cache"" \
-H ""Cache-Control: no-cache"" \
""wss://grindr.mobi""";
Не хотел прилу рекламировать))
 
Подскажите пожалуйста, все сделал по инструкции, сервер tls. После запуска API доступен по адресу: http://127.0.0.1:8080/api/forward

Пытаюсь сделать GET Запрос возвращает пустой ответ
 

Вложения

  • screenshot20250505105207.png
    screenshot20250505105207.png
    22,5 KB · Просмотры: 127
  • screenshot20250505105224.png
    screenshot20250505105224.png
    21,9 KB · Просмотры: 131
Так я ж говорю, в поле URL должно быть "http://127.0.0.1:8080/api/forward", вместо https://tls.peet.ws/api/all
Да, я пробовал менять эти ссылки как написано в стартпосте. Все равно пустой ответ.

Выполняем GET запрос к https://tls.peet.ws/api/all:
Создаем POST запрос по адресу http://127.0.0.1:8080/api/forward.

C#:
Развернуть Свернуть Копировать
←[33m08:42:54:000←[0m ←[32mhttp ←[0m ←[32minfo ←[0m POST /request HTTP/1.1 ←[32m←[0m ←[34mapplication: api, bytes: -1, client_ip: 127.0.0.1, host: 127.0.0.1:8080, protocol: HTTP/1.1, request_method: POST, request_path: /request, request_path_raw: /request, request_query: , request_query_parameters: map[], request_referer: , request_time: 0, scheme: , status: 404←[0m
 
Да, я пробовал менять эти ссылки как написано в стартпосте. Все равно пустой ответ.

Выполняем GET запрос к https://tls.peet.ws/api/all:
Создаем POST запрос по адресу http://127.0.0.1:8080/api/forward.

C#:
Развернуть Свернуть Копировать
←[33m08:42:54:000←[0m ←[32mhttp ←[0m ←[32minfo ←[0m POST /request HTTP/1.1 ←[32m←[0m ←[34mapplication: api, bytes: -1, client_ip: 127.0.0.1, host: 127.0.0.1:8080, protocol: HTTP/1.1, request_method: POST, request_path: /request, request_path_raw: /request, request_query: , request_query_parameters: map[], request_referer: , request_time: 0, scheme: , status: 404←[0m
ответ чат гпт

C#:
Развернуть Свернуть Копировать
Судя по логам:

bash
Copy
Edit
POST /request ... status: 404
Ты действительно обращаешься на /request, но сервер не распознаёт этот путь — это означает, что:

❗ У тебя не запущен TLS-сервер bogdanfinn/tls-client, который поддерживает маршрут /request, или он работает в другом режиме/API.
 
Да, я пробовал менять эти ссылки как написано в стартпосте. Все равно пустой ответ.

Выполняем GET запрос к https://tls.peet.ws/api/all:
Создаем POST запрос по адресу http://127.0.0.1:8080/api/forward.

C#:
Развернуть Свернуть Копировать
←[33m08:42:54:000←[0m ←[32mhttp ←[0m ←[32minfo ←[0m POST /request HTTP/1.1 ←[32m←[0m ←[34mapplication: api, bytes: -1, client_ip: 127.0.0.1, host: 127.0.0.1:8080, protocol: HTTP/1.1, request_method: POST, request_path: /request, request_path_raw: /request, request_query: , request_query_parameters: map[], request_referer: , request_time: 0, scheme: , status: 404←[0m
смотри может у тебя пустой ответ из за того что в России сайт залочен
 
смотри может у тебя пустой ответ из за того что в России сайт залочен
это авито. Через zennoposter иногда проходят запросы, иногда возвращает ответ что ваш ip заблокирован. Но с помощью этого метода вообще ничего нет.
Я пробовал на разные сайты слать запросы, все равно ноль
Думается что не в сайте дело
 
11:
Развернуть Свернуть Копировать
{
    "tlsClientIdentifier": "chrome_129",
    "requestUrl": "https://avito.ru",
    "requestMethod": "GET",
    "followRedirects": true,
    "insecureSkipVerify": false,
    "withoutCookieJar": false,
    "withDefaultCookieJar": false,
    "isByteRequest": false,
    "forceHttp1": false,
    "withDebug": true,
    "catchPanics": true,
    "withRandomTLSExtensionOrder": false,
    "timeoutSeconds": 30,
    "timeoutMilliseconds": 0,
    "sessionId": "my-custom-session-id",
    "proxyUrl": "",
    "isRotatingProxy": false,
    "certificatePinningHosts": {
    },
    "headers": {
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
        "accept-encoding": "gzip, deflate, br, zstd",
        "accept-language": "ru-RU,ru;q=0.9",
        "sec-ch-ua": "\"Chromium\";v=\"133\", \"Not:A-Brand\";v=\"24\", \"Google Chrome\";v=\"133\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "none",
        "sec-fetch-user": "?1",
        "upgrade-insecure-requests": "1",
        "priority": "u=0, i"
    },
    "headerOrder": [
        "sec-ch-ua",
        "sec-ch-ua-mobile",
        "sec-ch-ua-platform",
        "upgrade-insecure-requests",
        "user-agent",
        "accept",
        "sec-fetch-site",
        "sec-fetch-mode",
        "sec-fetch-user",
        "sec-fetch-dest",
        "accept-encoding",
        "accept-language",
        "priority"
    ],
    "requestBody": "",
    "requestCookies": [
                {
            "name": "__cf_bm",
            "value": "8YUJ1skcAuqxgFAec3hLgZapIGN6ub47E83p9M2w_D0-1744146644-1.0.1.1-fMmvMuRFm6sbP14QVag2n67OwGk0x7AD29dn2Y3ZZPv6oz2wkgk.h_0Osn8lWxL9ixeZrw2onS1.DyBa2xgw4JPUmG5zXhX_13DsVZ.WuAc","affkey":"eJyrVipSslJQUtJRUEoBMYwMjEx1DUx0DSwUjAysTI2sTAxBcmklIMlq9RR1KwV1LGrUdRTUk3MLQLIgZmJaGowJFyuCMYozU2DMkqJsOBPMqFWqBQCfcB69"
        },
        {
            "name": "cf_clearance",
            "value": "W17rhCVCAqXq9ommzAbXmXjZ6kagMKiN9N6CPB_phG0-1744145923-1.2.1.1-lqN2DdsrIvUdlK9.Ez96zuH3pJUzUMDNLVaw29Wzt3YFJzGiOFtHEu5xz62f70WZkYB5vZ6u2IifDKDLTobj_JGadCxLeobTRhFTeBihjqIrZtzwYD1k_6JSO2CLJq4oXldohX5.1aGIGcr_W7tD.hmve0hggWNsP6nRjtWbsfeUcdqHqsZNXNmfdNDntePsjxzKxWrZrHkyNlENFhbL9oadDMil7Nf0qjwjuJ3V3bfuX.BlG_RSF5M1dI3jShF3VWSdwzX2xYWRvBjLfRrUN3YlQ4BUxGmUraVRv7PuD4PthQH.LmM0qOcnsGbQQROaxWfDyJMNt8zSmjXLT0VNZiTC6ROdhQoE4EBFRSMeShU"
        }
    ]
}

пробуй этот. Куки можешь снести
 
  • Спасибо
Реакции: vasyaya
11:
Развернуть Свернуть Копировать
{
    "tlsClientIdentifier": "chrome_129",
    "requestUrl": "https://avito.ru",
    "requestMethod": "GET",
    "followRedirects": true,
    "insecureSkipVerify": false,
    "withoutCookieJar": false,
    "withDefaultCookieJar": false,
    "isByteRequest": false,
    "forceHttp1": false,
    "withDebug": true,
    "catchPanics": true,
    "withRandomTLSExtensionOrder": false,
    "timeoutSeconds": 30,
    "timeoutMilliseconds": 0,
    "sessionId": "my-custom-session-id",
    "proxyUrl": "",
    "isRotatingProxy": false,
    "certificatePinningHosts": {
    },
    "headers": {
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
        "accept-encoding": "gzip, deflate, br, zstd",
        "accept-language": "ru-RU,ru;q=0.9",
        "sec-ch-ua": "\"Chromium\";v=\"133\", \"Not:A-Brand\";v=\"24\", \"Google Chrome\";v=\"133\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "none",
        "sec-fetch-user": "?1",
        "upgrade-insecure-requests": "1",
        "priority": "u=0, i"
    },
    "headerOrder": [
        "sec-ch-ua",
        "sec-ch-ua-mobile",
        "sec-ch-ua-platform",
        "upgrade-insecure-requests",
        "user-agent",
        "accept",
        "sec-fetch-site",
        "sec-fetch-mode",
        "sec-fetch-user",
        "sec-fetch-dest",
        "accept-encoding",
        "accept-language",
        "priority"
    ],
    "requestBody": "",
    "requestCookies": [
                {
            "name": "__cf_bm",
            "value": "8YUJ1skcAuqxgFAec3hLgZapIGN6ub47E83p9M2w_D0-1744146644-1.0.1.1-fMmvMuRFm6sbP14QVag2n67OwGk0x7AD29dn2Y3ZZPv6oz2wkgk.h_0Osn8lWxL9ixeZrw2onS1.DyBa2xgw4JPUmG5zXhX_13DsVZ.WuAc","affkey":"eJyrVipSslJQUtJRUEoBMYwMjEx1DUx0DSwUjAysTI2sTAxBcmklIMlq9RR1KwV1LGrUdRTUk3MLQLIgZmJaGowJFyuCMYozU2DMkqJsOBPMqFWqBQCfcB69"
        },
        {
            "name": "cf_clearance",
            "value": "W17rhCVCAqXq9ommzAbXmXjZ6kagMKiN9N6CPB_phG0-1744145923-1.2.1.1-lqN2DdsrIvUdlK9.Ez96zuH3pJUzUMDNLVaw29Wzt3YFJzGiOFtHEu5xz62f70WZkYB5vZ6u2IifDKDLTobj_JGadCxLeobTRhFTeBihjqIrZtzwYD1k_6JSO2CLJq4oXldohX5.1aGIGcr_W7tD.hmve0hggWNsP6nRjtWbsfeUcdqHqsZNXNmfdNDntePsjxzKxWrZrHkyNlENFhbL9oadDMil7Nf0qjwjuJ3V3bfuX.BlG_RSF5M1dI3jShF3VWSdwzX2xYWRvBjLfRrUN3YlQ4BUxGmUraVRv7PuD4PthQH.LmM0qOcnsGbQQROaxWfDyJMNt8zSmjXLT0VNZiTC6ROdhQoE4EBFRSMeShU"
        }
    ]
}

пробуй этот. Куки можешь снести
У меня опять не сработало.
У тебя работают запросы с такими параметрами? Я не могу понять, это только у меня так или нет..
 

Вложения

  • 11.png
    11.png
    23,9 KB · Просмотры: 102
  • 22.png
    22.png
    36 KB · Просмотры: 114
Сервер вроде как работает, все ок. При переходе на адрес с браузера https://tls.peet.ws/api/all
получаю ответ, вроде как все ок.
Не могли-бы кто ни будь прислать шаблон рабочий?
 

Вложения

  • 21.png
    21.png
    41,5 KB · Просмотры: 108
Позвольте поинтересоваться: этот метод как-то можно применить к CEF движку, чтобы сайты под Cloudflare начали работать на CEF в веб-версии, а не через запросы?
 
Вопрос возможно малость не в тему, подскажите как получать результат без мусора? Или как-то обработать грамотно
HTML:
Развернуть Свернуть Копировать
\u003e\u003ctitle data-rh=\"true\"\u003eАвито: недвижимость, транспорт, работа, услуги, вещи\u003c/title\u003e\u003cmeta charset=\"utf-8\"/\u003e\u003cmeta name=\"format-detection\"

upd:
C#:
Развернуть Свернуть Копировать
// Получаем текст из переменной ZennoPoster (замените "InputText" на имя вашей переменной)
string inputText = project.Variables["get"].Value;

// Декодируем Unicode escape-последовательности
string decodedText = System.Text.RegularExpressions.Regex.Unescape(inputText);

// Сохраняем результат в другую переменную (замените "OutputText" на нужное имя)
project.Variables["get2"].Value = decodedText;

// Возвращаем результат (для ZennoPoster)
return decodedText;
 
Последнее редактирование:
Всем привет, ребят помогите, у кого получилось привязать прокси? Формат зенки не проходит в "ProxyUrl": "http://логин:пароль@ip:port". Как только не пробововал, ответ пустой приходит, без прокси всё работает.
 

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