Bohdan
ну вопрос был в инстансе, кукольник ползволяет только таймаут проверить через инстанс
Bohdan
ну вот например таймаут нормально чекается
Bohdan
err instanceof puppeteer.errors.TimeoutError
Bohdan
угу, секнс
Bohdan
сенкс, отличная идея
Bohdan
только наверное http не выйдет так как кукольником
Bohdan
в чем фишка кукольника, что есть можно ловить появление селектора const reCaptchaResponse = await page.waitForSelector('#g-recaptcha-response');
Bohdan
а в обычном http непонятно как это делать
Bohdan
просто есть очень медленные прокси
Bohdan
сенкс, а что за ресурс https://api.ipify.org ?
Bohdan
просто насколько он постоянно в сети?
Bohdan
по идеи можно favicon запрашивать, думаю он наименьше всего весит
Bohdan
сенкс, но идея отличная
Bohdan
чето не работает
Bohdan
ECONNABORTED | timeout of 10000ms exceeded Error: timeout of 10000ms exceeded at createError (/home/user/Project/usr-info/node_modules/axios/lib/core/createError.js:16:15) at Timeout.handleRequestTimeout [as _onTimeout] (/home/user/Project/usr-info/node_modules/axios/lib/adapters/http.js:217:16) at listOnTimeout (internal/timers.js:531:17) at processTimers (internal/timers.js:475:7) { config: { Error: INVALID_PROXY at Function.check (/home/user/Project/usr-info/services/proxy.js:34:13) at processTicksAndRejections (internal/process/task_queues.js:93:5) adapter: [Function: httpAdapter], transformRequest: { '0': [Function: transformRequest] }, transformResponse: { '0': [Function: transformResponse] }, timeout: 10000, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, validateStatus: [Function: validateStatus], headers: { Accept: 'application/json, text/plain, */*', 'User-Agent': 'axios/0.18.1', host: 'site.com' }, method: 'get', url: 'https://site.com/favicon.ico', proxy: { host: '67.207.88.17', port: '3128' }, data: undefined }, code: 'ECONNABORTED', request: Writable { _writableState: WritableState { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: 0, writing: false, corked: 0, sync: true, bufferProcessing: false, onwrite: [Function: bound onwrite], writecb: null, writelen: 0, bufferedRequest: null, lastBufferedRequest: null, pendingcb: 0, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: false, bufferedRequestCount: 0, corkedRequestsFree: [Object] }, writable: true, _events: [Object: null prototype] { response: [Function: handleResponse], error: [Function: handleRequestError] }, _eventsCount: 2, _maxListeners: undefined, _options: { protocol: 'https:', maxRedirects: 21, maxBodyLength: 10485760, path: 'https://site.com/favicon.ico', method: 'get', headers: [Object], agent: undefined, auth: undefined, hostname: '67.207.88.17', port: '3128', nativeProtocols: [Object], pathname: 'https://site.com/favicon.ico' }, _redirectCount: 0, _redirects: [], _requestBodyLength: 0, _requestBodyBuffers: [], _onNativeResponse: [Function], _currentRequest: ClientRequest { _events: [Object: null prototype], _eventsCount: 6, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, _last: true, chunkedEncoding: false, shouldKeepAlive: false, useChunkedEncodingByDefault: false, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, _contentLength: 0, _hasBody: true, _trailer: '', finished: true, _headerSent: true, socket: [TLSSocket], connection: [TLSSocket], _header: 'GET https://site.com/favicon.ico HTTP/1.1\r\n' + 'Accept: application/json, text/plain, */*\r\n' + 'User-Agent: axios/0.18.1\r\n' + 'host: site.com\r\n' + 'Connection: close\r\n' + '\r\n', _onPendingData: [Function: noopPendingOutput], agent: [Agent], socketPath: undefined, method: 'GET', path: 'https://site.com/favicon.ico', _ended: false, res: null, aborted: true, timeoutCb: null, upgradeOrConnect: false, parser: [HTTPParser], maxHeadersCount: null, _redirectable: [Circular], [Symbol(kNeedDrain)]: false, [Symbol(isCorked)]: false, [Symbol(kOutHeaders)]: [Object: null prototype] }, _currentUrl: 'https://67.207.88.17:3128/https://site.com/favicon.ico' },
Bohdan
response: undefined
Bohdan
в кукольнике сайт открывает, а через axios ошибка
Bohdan
угу, но прокся рабочая, кукольник с ней работает
Bohdan
это я так понимаю аксиос не работает адекватно
Bohdan
https://github.com/axios/axios/issues/2072
Bohdan
а можешь скинуть код, как ты чекаешь прокси?
Bohdan
используешь нативный http?
Bohdan
или либу?
Bohdan
сенкс
DeniskaAb
здравствуйте, а как поменять параметры хидера в реквесте? нашел только кек поменять юзерагент
DeniskaAb
Спасибо
DeniskaAb
А Cloudfare кто нибудь обходил?
DeniskaAb
капча вылазит на сайтах защищенных их сервисом. Детектирует как робота
DeniskaAb
да
DeniskaAb
просто хочу хидеры пока подогнать
DeniskaAb
я хотел через го https://github.com/chromedp/chromedp но там я только как юзерагент сменить нашел
DeniskaAb
ок
Kenan
Есть нужда запилить отправку сообщений в Whatsapp ( с бэка, не спам, желательно что-то готовое ). Нашёл только это: https://github.com/sarfraznawaz2005/whatspup
Pavel
https://habr.com/ru/post/466551/
Anonymous
Всем привет. Можно как-то в keyboard.press использовать кириллицу?
Kenan
Как использовать последнюю версию хрома? В инете и в доках нашёл подобный вариант:
Kenan
H
hi, i dont understand russian, i only have 1 question, how i can use private proxies?
Pavel
Примеры: https://github.com/checkly/puppeteer-examples Рекордер: https://github.com/checkly/puppeteer-recorder
Добавил рекордер в запин, если есть еще предложения по запину - пишите
Anonymous
Всем привет
Anonymous
Есть кто на линии ? пару вопросов?
Anonymous
Есть отличие селениума и пупитера в хроме ? - по детекту ?
Anonymous
тот же веб драйвер ?
Anonymous
печально, может есть решение проблемы?
Roman
https://github.com/paulirish/headless-cat-n-mouse
Roman
Решение следить за игрой в этом репе
Anonymous
а если не хидлес ?
Roman
А какой смысл во фреймбуфере?
Roman
Вообще это все бред, puppeteer предназначен для благих намерений.
Roman
Хотите делать чернуху пишите свой форк хромиума.
Roman
Парсинги и прочее.
Anonymous
ну скажем так не чернуха, а за благие цели вовсе не платят
Roman
Короче вот основной репо
Roman
А если надо все равно задетектят
Roman
Даже метрика умеет рисовать канвас и считать хеш его
Roman
Если будете врать с устройством Достаточно сделать канвас с эмодзи
Roman
😂 вот таким например
Anonymous
короч нужно на подмену делать на уровне mitm
Roman
И на линукс машине вместо цветного эмодзи будет квадрат в лучшем случае
Roman
Вот вам и детект
Anonymous
прикольно
Anonymous
а кто нить продает рабочее решение ?
Roman
Никогда не лазил в эту сферу, но думаю хорошего нет
Roman
На хорошем кто нить деньги делает
Roman
Короче не нравится мне эта блек тема
Anonymous
Всем привет!
Anonymous
Сам ты блек
Юрий
а никто не пробовал подписываться на пуши? получается только при headless: false в безголовом режиме не выходит и решения я пока не нашёл. может кто сталкивался?
Pavel
блет, слетел travis на ровном месте, не деплоит npm пакет даже с обновленным токеном.
Gambit501
Живые есть?)
Юрий
немного)
Андрей
А видели уже Playwright? кроссбраузерный аналог Puppeteer от его же создателей для автоматизации действий в браузере → https://github.com/microsoft/playwright
Андрей
пробовал?
Неа. Нет надобности. Я же не микрасофтобляттка какая-то)