Как заставить кукловода работать через прокси socks5? - PullRequest
0 голосов
/ 12 сентября 2018

Я купил прокси-сервер версии socsk5. Во всех руководствах один и тот же пример

const browser = await puppeteer.launch({
    headless: true,
    ignoreHTTPSErrors: true,
    defaultViewport: {...winSize},
    args: [
        '--proxy-server=socks5://proxyhost:8000',
        '--host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE proxyhost"',
    ],
})

Он не указывает пароль для входа в систему для этого прокси-сервера и он явно не работает

Если вы укажете это

'--proxy-server=socks5://user:password@proxyhost:8000',

выдает ошибку

Net :: ERR_NO_SUPPORTED_PROXIES

Я пытался с https://github.com/sjitech/proxy-login-automator построить мост, но он тоже не работал.

Подскажите пожалуйста

1 Ответ

0 голосов
/ 12 сентября 2018

Вы можете использовать page.authenticate() для предоставления учетных данных для вашего прокси.

Например:

'use strict';

const puppeteer = require( 'puppeteer' );

( async () =>
{
    const username = 'johndoe';
    const password = 'qwerty1';

    const browser = await puppeteer.launch({
        'args' : [
            '--proxy-server=socks5://proxyhost:8000'
        ]
    });

    const page = await browser.newPage();

    await page.authenticate( { username, password } );

    await page.goto( 'https://www.example.com/' );

    await browser.close();
})();
...