Трафік проксі закінчується швидше, ніж очікували

Здебільшого гігабайти йдуть на те, чого не видно в результаті роботи: картинки, шрифти, скрипти, повтори й службові запити. Нижче — куди саме і як це виміряти.

Оновлено · Редакція Prokso

Коротко
  • Трафік рахується в обидва боки, а точне гео — вдвічі
  • Найбільше з'їдають картинки, відео, шрифти й скрипти, а також повтори запитів
  • Блокуйте зайві ресурси, повторно використовуйте з'єднання й вмикайте стиснення

Що означає помилка

У Prokso трафік рахується в обидва боки: і те, що програма надсилає, і те, що завантажує. Для звичайного парсингу основну частину дає відповідь сайту, але під час вивантаження файлів, надсилання форм чи великих запитів до API вихідний обсяг теж помітний.

Розмір сторінки — це не лише HTML. Браузер чи антидетект завантажує все, на що посилається сторінка: картинки, відео, шрифти, скрипти, рекламу й лічильники. Тому сторінка з невеликим текстом може тягнути в рази більше даних, ніж сам текст.

Ще один множник — точне гео. Регіон, місто, ZIP або оператор (ASN) рахуються вдвічі: 1 ГБ такого трафіку забирає з пакета 2 ГБ. Країна — без доплати.

Причини

  • Ресурси сторінок. Картинки, відео, шрифти й скрипти — найважча частина типової сторінки. Headless-браузери в Puppeteer, Playwright і Selenium завантажують їх так само, як звичайний браузер, навіть якщо вам потрібен лише текст.
  • Повтори запитів. Кожна спроба, яка встигла завантажити хоч частину сторінки, теж трафік. Цикл без ліміту повторів після капчі чи помилки 429 тихо з'їдає пакет.
  • Відповіді без стиснення. Якщо програма не надсилає заголовок Accept-Encoding, сервер віддає текст без стиснення. Браузери надсилають його самі, скрипти — не завжди: curl просить стиснення лише з ключем --compressed.
  • Нове з'єднання на кожен запит. Кожне нове HTTPS-з'єднання починається з рукостискання TLS, і ці дані теж проходять через проксі. Без повторного використання з'єднань вони додаються до кожного запиту.
  • Точне гео без потреби. Місто, регіон, ZIP чи оператор множать витрату на два. Якщо задачі вистачає країни, точне гео краще вимкнути.

Як виправити

  1. Порахуйте очікуваний обсяг: середній розмір сторінки × кількість сторінок × запас на повтори. Для оцінки є калькулятор трафіку.
  2. Виміряйте реальну сторінку: в інструментах розробника браузера на вкладці Network унизу видно, скільки даних передано. Для одного запиту curl покаже розмір тіла відповіді без заголовків через -w "%{size_download}".
  3. Блокуйте непотрібні ресурси в headless-браузері: у Puppeteer — page.setRequestInterception(true) і request.abort() для картинок, шрифтів і медіа, у Playwright — page.route() з route.abort(). Налаштування проксі — в інструкціях Puppeteer і Playwright.
  4. Використовуйте одне з'єднання для серії запитів: у Python — requests.Session(), яка повторно використовує з'єднання (див. інструкцію Python requests). Обмежте кількість повторів і додайте паузу між ними.
  5. Вмикайте стиснення: заголовок Accept-Encoding: gzip або ключ --compressed у curl. Точне гео вмикайте лише там, де місто чи оператор справді потрібні; параметри логіна — у довіднику шлюзу.

Як перевірити, що все запрацювало

Після змін запустіть ту саму задачу на невеликій вибірці й порівняйте залишок плану до і після в особистому кабінеті. Щоб пакет не закінчився несподівано, на сторінці плану можна задати ліміт трафіку за годину, добу чи тиждень — зупиняти роботу або лише попереджати, — і ввімкнути сповіщення на пошту чи в Telegram, коли трафік закінчується.

Діагностика за 2 хвилини

Спершу вставте рядок у перевірку проксі. Якщо там проксі працює, причина в програмі чи її налаштуваннях. Якщо ні — перевірте рядок з терміналу:

curl -v -x "http://ЛОГІН:ПАРОЛЬ@gw.prokso.com:823" https://api.ipify.org
  • Рядок < HTTP/1.1 407 одразу після CONNECT — відповідає проксі. Назва після коду, наприклад NO_USER, підказує причину.
  • Проксі відповів на CONNECT кодом 200, а далі прийшов інший код — проксі працює, цю відповідь дав сайт.
  • Жодної відповіді, лише тайм-аут — з'єднання не дійшло до проксі: перевірте хост, порт і мережу.

Інструкції, де трапляється ця помилка

Читайте також

Питання й відповіді

Чи рахується трафік, якщо сайт відповів помилкою?

Так. Рахується все, що пройшло через проксі в обидва боки, незалежно від коду відповіді. Сторінка з капчею чи помилкою 403 теж витрачає трафік.

Чому антидетект витрачає більше, ніж скрипт?

Профіль антидетекту — повноцінний браузер: він завантажує всі ресурси сторінок і робить фонові запити самого браузера. Скрипт бере лише те, що ви запросили.

Чи згорає невикористаний трафік?

Ні. Куплений трафік не має терміну дії, тож залишок можна використати пізніше.

Резидентські $1.59, мобільні $2.50, серверні $0.65 за 1 ГБ

Реєстрація за хвилину, доступи одразу після оплати.

Створити акаунт