http2 - nodejs

Поддержка
  • У меня есть сайт, который выдает "Just a moment..." при отправка через стандартные HTTP Запросы BAS. А также через все популярные модули для node js , кроме http2. С ним запросы обрабатываются корректно, но минус в том, что он идет в обход проксей и ни в какую не хочет их ставить. Как я это проверил? Подставил невалидные прокси, а результат все равно успех

    const http2 = require('http2');
    const HttpProxyAgent = require('http-proxy-agent');
    
    const proxyUrl = 'http://' + [[PROXY]];
    const agent = new HttpProxyAgent(proxyUrl);
    
    await (new Promise((resolve, reject) => {
        const client = http2.connect('https://api.skinrave.gg', { agent });
        const req = client.request({
            ':path': '/auth/sign-in',
            ':method': 'POST',
            'Content-Type': 'application/json',
            'Accept': 'application/json, text/plain, */*',
            'Accept-Language': 'ru,en;q=0.9',
            'Cache-Control': 'no-cache',
            'Origin': 'https://skinrave.gg',
            'Referer': 'https://skinrave.gg/',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 YaBrowser/24.7.0.0 Safari/537.36',
        });
    
        const jsonData = JSON.stringify({
            email: [[EMAIL]],
            password: [[PASSWORD]],
            affiliateCode: '',
        });
    
        req.on('response', (headers, flags) => {
            let body = '';
    
            req.on('data', (chunk) => {
                body += chunk.toString();
            });
    
            req.on('end', () => {
                let response;
                try {
                    response = JSON.parse(body);
                } catch (e) {
                    response = { error: "Invalid JSON response", status: headers[':status'] };
                }
    
                [[RESPONSE]] = response;
                client.close();
                resolve(response); 
            });
        });
    
        req.on('error', (err) => {
            [[RESPONSE]] = { error: err };
            reject(err);
        });
    
        req.write(jsonData);
        req.end();
    }));
    
    

    Данные для теста

    EMAIL = tinytmp+6jfoz@gmail.com
    PASSWORD = Xtp-Z98-vEZ-6Gg
    
  • https://community.bablosoft.com/topic/23348/curlimpersonate-http-client

    Увидел модуль, который тоже помог обойти клоудфлаер, проверил там прокси. Но похоже он их просто обходит стороной. При гет запросе на сайт без клауда например ip.bablosoft.com с невалид прокси выдает ошибку.
    image.png
    При пост запросе на сайт где требуется HTTP2
    image.png

    ему абсолютно насрать на прокси

  • @llimonix can you not apply proxy to http2 module?

  • @000 yes but this module is not complete and will not apply properly when compiled