К содержимому

Прокси для Browser Use: агент через HTTP-прокси

Browser Use запускает браузер для ИИ-агента. Если этому браузеру нужно ходить на страницы через прокси, его задают один раз на объекте Browser. В руководстве: актуальный API, свой прокси для каждого агента, те же настройки в Playwright и Playwright MCP, совпадение часового пояса и языка, типичные ошибки.

Актуальный API прокси в Browser Use

В документации Browser Use прокси — параметр браузера: proxy принимает объект ProxySettings с полями server, username, password и bypass. Browser — псевдоним BrowserSession, так что Browser(proxy=...) и есть вся настройка.

BrowserConfig, который импортируют в старых инструкциях, остался в прежних версиях и в актуальном API его нет: импорт даст ImportError. Используйте пример ниже.

Browser Use с ProxySettings: сначала проверяем выход

import asyncio
import os
from browser_use import Agent, Browser, ChatOpenAI
from browser_use.browser.profile import ProxySettings

browser = Browser(
    proxy=ProxySettings(
        server=f"http://{os.environ['PROXY_HOST']}:{os.environ['PROXY_PORT']}",  # HTTP endpoint
        username=os.environ["PROXY_USER"],
        password=os.environ["PROXY_PASS"],
        bypass="localhost,127.0.0.1",  # optional
    )
)


async def main():
    agent = Agent(
        task=(
            "Open https://ipinfo.io/json and report the IP address and country it shows. "
            "Then continue with the real task."
        ),
        llm=ChatOpenAI(model=os.environ["LLM_MODEL"]),
        browser=browser,
    )
    history = await agent.run()
    print(history.final_result())


asyncio.run(main())

Только пример: подставьте свои переменные окружения. В задаче агент сначала называет IP и страну выхода, и только потом делает остальное.

Зачем проверять выход первым

Первый шаг превращает «прокси настроен» в «браузер агента действительно показывает выбранную страну». Делайте это в начале каждого запуска и сверяйте страну с той, что вы выбрали при создании прокси.

bypass — список хостов через запятую, которые идут не через прокси, например localhost,127.0.0.1. Если не нужен, не указывайте.

Свой прокси для каждого агента

Дайте каждому агенту свой Browser со своим ProxySettings и запускайте их вместе через asyncio.gather. Прокси привязан к браузеру, на котором задан, поэтому два агента случайно не окажутся на одном выходе. Параллельный пример в документации Browser Use помечен как экспериментальный, поэтому держите один агент на один объект Browser.

Два агента, два прокси, параллельный запуск

import asyncio
import os
from browser_use import Agent, Browser, ChatOpenAI
from browser_use.browser.profile import ProxySettings


def make_browser(host_env, port_env, user_env, pass_env):
    return Browser(
        proxy=ProxySettings(
            server=f"http://{os.environ[host_env]}:{os.environ[port_env]}",
            username=os.environ[user_env],
            password=os.environ[pass_env],
        )
    )


async def run_one(task, browser):
    agent = Agent(task=task, llm=ChatOpenAI(model=os.environ["LLM_MODEL"]), browser=browser)
    return await agent.run()


async def main():
    de = make_browser("DE_HOST", "DE_PORT", "DE_USER", "DE_PASS")
    jp = make_browser("JP_HOST", "JP_PORT", "JP_USER", "JP_PASS")
    results = await asyncio.gather(
        run_one("Open https://ipinfo.io/json and report the IP and country", de),
        run_one("Open https://ipinfo.io/json and report the IP and country", jp),
    )
    for history in results:
        print(history.final_result())


asyncio.run(main())

Только пример: подставьте свои значения.

То же самое в чистом Playwright

Browser Use управляет Chromium через Playwright, поэтому полезно знать его собственные параметры прокси. Прокси задают для всего браузера в launch или для одного контекста в new_context (в Node.js — newContext); параметры: server, bypass, username, password.

В справочнике Playwright сказано, что username и password нужны для HTTP-прокси. Значит, SOCKS5 с логином и паролем в Chromium недоступен: используйте HTTP-порт. В Proxy302 это proxy.proxy302.com, порт 2222; SOCKS5 — порт 3333.

Playwright для Python: прокси на браузер и на контекст

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    # Proxy for the whole browser
    browser = p.chromium.launch(
        proxy={
            "server": "http://HOST:PORT",
            "username": "USERNAME",
            "password": "PASSWORD",
            "bypass": "localhost,127.0.0.1",
        }
    )
    page = browser.new_page()
    page.goto("https://ipinfo.io/json")
    print(page.inner_text("body"))
    browser.close()

    # Or one proxy per context
    browser = p.chromium.launch()
    context = browser.new_context(
        proxy={"server": "http://HOST:PORT", "username": "USERNAME", "password": "PASSWORD"}
    )
    page = context.new_page()
    page.goto("https://ipinfo.io/json")
    print(page.inner_text("body"))
    browser.close()

Только пример: подставьте свои значения.

Playwright для Node.js: прокси на браузер и на контекст

import { chromium } from 'playwright';

// Proxy for the whole browser
const browser = await chromium.launch({
  proxy: {
    server: 'http://HOST:PORT',
    username: 'USERNAME',
    password: 'PASSWORD',
    bypass: 'localhost,127.0.0.1',
  },
});
const page = await browser.newPage();
await page.goto('https://ipinfo.io/json');
console.log(await page.innerText('body'));
await browser.close();

// Or one proxy per context
const browser2 = await chromium.launch();
const context = await browser2.newContext({
  proxy: { server: 'http://HOST:PORT', username: 'USERNAME', password: 'PASSWORD' },
});
const page2 = await context.newPage();
await page2.goto('https://ipinfo.io/json');
console.log(await page2.innerText('body'));
await browser2.close();

Только пример: подставьте свои значения.

Playwright MCP

Если вы управляете браузером не кодом на Python, а через сервер Playwright MCP, нужны аргументы --proxy-server и --proxy-bypass. В README логин и пароль пишут прямо в адресе прокси: http://user:password@host:port. Если в пароле есть такие символы, как @, : или /, закодируйте их через процентное кодирование.

В README есть и форма для SOCKS5, но, как и в Playwright выше, при необходимости логина и пароля берите HTTP-порт.

Playwright MCP с прокси: запись в mcpServers

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest",
        "--proxy-server",
        "http://USER:PASS@HOST:PORT",
        "--proxy-bypass",
        "localhost,127.0.0.1"
      ]
    }
  }
}

Только пример: подставьте свои значения.

Чтение страницы через прокси из MCP-клиента

Если агенту нужно лишь прочитать публичную страницу через прокси Proxy302 без запуска браузера, смотрите руководство proxy-mcp-server. proxy302-mcp — официальный MCP-сервер Proxy302 с открытым кодом на GitHub, его поддерживает команда Proxy302. Proxy302 также держит его по адресу https://proxy302.com/v1/mcp: клиенты, которые умеют передавать заголовок Authorization, например Claude Code, Cursor и VS Code, подключаются по API-ключу без установки.

Часовой пояс и язык под регион выхода

Некоторые сайты показывают другую валюту, язык и условия доставки в зависимости от того, откуда, судя по всему, пришёл посетитель. Чтобы увидеть местную версию страницы, кроме прокси задайте браузеру язык и часовой пояс региона выхода.

В Playwright для этого есть параметры контекста locale (языковой тег, например de-DE) и timezone_id (идентификатор пояса, например Europe/Berlin; в Node.js — timezoneId). Оба описаны в официальной документации. Они меняют то, что сообщает браузер; адрес меняет прокси.

Python: прокси, язык и часовой пояс в одном контексте

context = browser.new_context(
    proxy={"server": "http://HOST:PORT", "username": "USERNAME", "password": "PASSWORD"},
    locale="de-DE",
    timezone_id="Europe/Berlin",
)

Только пример: подставьте свои значения.

Node.js: прокси, язык и часовой пояс в одном контексте

const context = await browser.newContext({
  proxy: { server: 'http://HOST:PORT', username: 'USERNAME', password: 'PASSWORD' },
  locale: 'de-DE',
  timezoneId: 'Europe/Berlin',
});

Только пример: подставьте свои значения.

Измеренные выходы со стороны Amazon

Измеренные выходы со стороны Amazon
ПунктСеть (провайдер)ASNОтвет, мс
СШАAT&T Enterprises, LLCAS70181807
ВеликобританияPlusnetAS68712563
ГерманияVodafone GmbHAS32091058
ЯпонияBTV CO.,LTD.AS181351548
СингапурStarhub LtdAS55430629
РоссияPJSC VimpelcomAS84022031
БразилияTELEFÔNICA BRASIL S.AAS265996263
ИндонезияPT. Telekomunikasi SelularAS236931752

Почасовая проверка Proxy302, 3 ноября 2026, 18:18 UTC: по одному запросу к Amazon из каждой страны через ротируемый резидентный выход. Публикуются только первые три октета IP. Один замер на страну, а не среднее; следующие проверки дадут другие цифры.

Типичные ошибки и что делать

407 Proxy Authentication Required

Проверьте Прокси получил запрос, но не принял логин и пароль. Проверьте, что в ProxySettings или в словаре proxy действительно есть username и password, что они совпадают с данными в «Моих активах» и что порт соответствует протоколу.

Решение Исправьте данные; в Chromium берите HTTP-порт (2222). Если пишете их в адрес, закодируйте спецсимволы.

ERR_PROXY_CONNECTION_FAILED

Проверьте Браузер вообще не смог подключиться к прокси. Проверьте хост и порт, что схема http://, и нет ли поверх другой настройки прокси.

Решение Исправьте хост, порт или схему и снова проверьте выход. Из материкового Китая держите открытым Helper (см. шаги ниже).

Таймауты

Проверьте Если страница открывается без прокси, а через него нет, дело в пути через прокси или в самой странице, а не в вашем коде. Попробуйте тот же запрос из другой страны.

Решение Увеличьте таймаут навигации для медленных страниц и повторите из более близкой страны.

Сайт показывает не ту страну

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

Решение Задайте locale и timezone_id для страны выхода; для многошаговых задач берите статический IP.

Для чего это подходит

Обычные задачи: чтение публичных страниц, проверка того, как страница выглядит в другом регионе, QA локализованного сайта и сбор данных с соблюдением условий сайта и лимитов запросов. Прокси меняет только сетевой адрес, который видит сервис; не частите с запросами и соблюдайте правила каждого сайта.

Как это сделать с Proxy302

Ротируемые резидентные подходят агентам, которые читают много страниц или проверяют несколько регионов: выберите страну, создайте прокси с протоколом HTTP и используйте proxy.proxy302.com, порт 2222. Статический ISP IP подходит агенту, который входит в аккаунт и которому нужен один постоянный адрес. Описание продукта — на странице ротируемых резидентных прокси.

Как это сделать с Proxy302: шаги

  1. Шаг 1

    Откройте страницу ротируемых резидентных (или статических ISP), выберите страну и протокол HTTP и создайте прокси.

  2. Шаг 2

    Откройте «Мои активы» (страница консоли со всем купленным) и скопируйте HOST, PORT, USERNAME и PASSWORD. На странице «Подключение» есть готовый пример с вашим адресом.

  3. Шаг 3

    Подставьте их в ProxySettings, параметр proxy Playwright или аргумент MCP.

  4. Шаг 4

    Проверьте выход: пусть агент откроет https://ipinfo.io/json и назовёт IP и страну. Страна должна совпасть с выбранной.

  5. Шаг 5

    Из материкового Китая откройте Helper на странице «Подключение», нажмите 「一键加速」 (One-click boost) и держите его открытым, пока пользуетесь прокси.

Цены и ограничения

Ротируемые резидентные стоят от 1,5 доллара за ГБ на линии Budget и 5 долларов за ГБ на линии Premium, в больших пакетах дешевле. Статический ISP IP — 0,5 доллара за 1 день и 7,99 доллара за 30 дней. Бесплатного пробного периода нет: минимальная покупка — 1 ГБ или один IP на один день. Прокси не снимает ограничения, не отменяет блокировку и не повышает лимит.

Proxy302 коротко

Proxy302 коротко
ПунктЦенаПротоколыЛокацииДля каких задач агента
Ротируемые резидентныеОт 1,5 доллара за ГБ (линия Budget); 5 долларов за ГБ (линия Premium); в больших пакетах дешевле за ГБHTTP, SOCKS5195+ стран и регионов; штат и город на линиях, где это поддерживаетсяАгенты для просмотра и поиска информации, сбор данных
Статические ISP, за IP0,5 доллара за 1 день, 7,99 доллара за 30 дней, одинаково во всех странахHTTP или SOCKS5, выбирается для каждого IP30 стран в форме заказа; наличие меняется каждый деньОдин фиксированный IP на каждый аккаунт, в который входит агент
ISP для ИИ-подписокЗа 30 дней: Claude 15 PTC, GPT / Grok 10 PTC, Gemini 8 PTC; первый заказ в каждом тарифе со скидкой 50%HTTP или SOCKS5Claude: США, Великобритания, Германия, Испания, Япония, Сингапур. GPT / Grok и Gemini: США, Великобритания, Франция, Испания, Италия, Япония, Корея, СингапурИнструменты для кода и агенты, вошедшие в аккаунт ChatGPT, Claude, Gemini или Grok
Дата-центр, за IP0,25 доллара за 1 день, 3,99 доллара за 30 днейHTTP или SOCKS5, выбирается для каждого IP8 странВызовы API и трафик инструментов, где тип IP не важен
proxy302-mcpБесплатно, открытый код (MIT)MCP через stdio, запуск через npxРаботает с продуктами вышеПозволяет Claude Code, Codex, Cursor и другим MCP-клиентам получить прокси и открывать страницы через него

Цены указаны в PTC и списываются с кошелька; 1 PTC = 1 доллар США. Бесплатного пробного периода нет: минимальная покупка — 1 ГБ ротируемого резидентного трафика или один IP на один день. Проверено 4 ноября 2026 г.

Вопросы и ответы

Есть ли в Browser Use встроенная настройка прокси?

Да. Передайте в Browser параметр proxy=ProxySettings(server, username, password, bypass). BrowserConfig остался в старых версиях и в актуальном API его нет.

Как дать каждому параллельному агенту свой прокси?

Создайте по одному Browser на агента, каждому свой ProxySettings, и запустите агентов через asyncio.gather.

Можно ли в Chromium использовать SOCKS5 с логином и паролем?

Нет. Параметры username и password в Playwright предназначены для HTTP-прокси, поэтому берите HTTP-порт (2222 на proxy.proxy302.com).

Менять IP или держать один?

Если страницы задачи — один визит (вход и несколько шагов), держите один IP. Для независимых чтений отдельных страниц проще новый IP на каждую задачу.

Почему сайт всё равно показывает не тот регион?

Сначала проверьте IP выхода. Затем задайте контексту locale и timezone_id региона выхода: они определяют, что сообщает браузер.

Ссылки и источники

11
  1. Browser Use docs: all parameters

    Официальная документация · Проверено:

    Read on 4 November 2026: the proxy parameter takes ProxySettings(server, bypass, username, password); Browser is an alias for BrowserSession; BrowserProfile can be passed to Browser.

  2. Browser Use source: browser/profile.py

    Официальная документация · Проверено:

    Source read on 4 November 2026: class ProxySettings has server, bypass, username and password; BrowserProfile.proxy; the current package exports Browser and BrowserSession and has no BrowserConfig.

  3. Playwright docs: Network, HTTP proxy

    Официальная документация · Проверено:

    Read on 4 November 2026: proxy can be set for the whole browser in launch or for each context; username and password for HTTP(S) proxy.

  4. Playwright docs: proxy option reference

    Официальная документация · Проверено:

    Read on 4 November 2026: server, bypass, username, password; username and password are for HTTP proxy authentication.

  5. Playwright for Python: Browser.new_context

    Официальная документация · Проверено:

    Read on 4 November 2026: locale, timezone_id and proxy options of new_context.

  6. Playwright docs: Emulation, locale and timezone

    Официальная документация · Проверено:

    Read on 4 November 2026: locale and timezoneId in browser.newContext; they affect the browser's locale and time zone only.

  7. Playwright MCP README

    Официальная документация · Проверено:

    Read on 4 November 2026: --proxy-server (including the http://user:password@host:port form) and --proxy-bypass.

  8. Proxy302 product facts and price list

    Наблюдение за продуктом · Проверено:

    Product facts file of the site (values checked against the console, the backend and the price table on 18-19 October 2026): products, prices in US$ (1 PTC = US$1), lease terms, protocols and ports, countries, quantity limits, no free trial.

  9. Proxy302 ISP for AI subscriptions: public catalog

    Наблюдение за продуктом · Проверено:

    Public JSON at proxy302.com/v1/proxy/ai-isp/catalog, read 4 November 2026: three tiers (Claude, GPT / Grok, Gemini), price per 30 days in PTC, 50% off the first order in a tier, cities by country.

  10. README proxy302-mcp (официальный MCP-сервер Proxy302)

    Наблюдение за продуктом · Проверено:

    README официального MCP-сервера Proxy302: команды установки, переменные окружения, семь инструментов, режим только для чтения без трат и размещённый сервер https://proxy302.com/v1/mcp.

  11. Proxy302 hourly connectivity check

    Наблюдение за продуктом · Проверено:

    Public JSON of the probe at proxy302.com/live/connectivity/amazon.json (file probe-amazon-20261104.json), generated 3 November 2026, 18:18 UTC: one request per exit country through a rotating residential exit; exit ASN, network and response time.

Готовы попробовать?

Создайте аккаунт, пополните баланс и выберите ротируемый резидентный, статический ISP или дата-центр IP — настроить его в браузере можно за несколько минут.