Настройте прокси в Playwright с помощью proxy опцию при запуске браузера или создании контекста браузера. Используйте server, username и password для прокси HTTP с аутентификацией. Учётные данные для входа на сайт относятся к другой конфигурации, и их не следует подставлять вместо данных аутентификации прокси.
В этом руководстве по Python создаётся одна сессия браузера, и её соединение проверяется перед переходом на разрешённый ресурс. Оно дополняет руководства по настройке браузеров для настольных приложений с профилями.
Ключевые моменты: начните с одного контекста и одной страницы. Храните конечную точку и учётные данные в переменных окружения. Наблюдаемый выходной IP описывает только тот запрос, который вы отправили; он не доказывает анонимность и не гарантирует, что целевой сайт примет соединение.
Этот Руководство Playwright по работе с сетью описывает настройку HTTP-прокси на уровне браузера и контекста. В следующем примере используется настройка на уровне браузера, чтобы отправная точка была однозначной.
Установите пакет Python с помощью python -m pip install playwright, затем установите Chromium с помощью python -m playwright install chromium. Your operating environment may need additional browser dependencies; follow the official installation instructions for that environment.
import os
from playwright.sync_api import sync_playwright
proxy = {
"server": os.environ["PROXY_SERVER"],
"username": os.environ["PROXY_USER"],
"password": os.environ["PROXY_PASSWORD"],
}
with sync_playwright() as p:
browser = p.chromium.launch(headless=True, proxy=proxy)
context = browser.new_context()
page = context.new_page()
try:
response = page.goto(
"https://api.ipify.org?format=json",
wait_until="domcontentloaded",
timeout=30000,
)
if response is None:
raise RuntimeError("Navigation returned no response")
print("HTTP status:", response.status)
print(page.locator("body").inner_text())
finally:
context.close()
browser.close()
Задать PROXY_SERVER на полную конечную точку, например http://proxy.example:3128, заменив его выданными вам данными. Храните имя пользователя и пароль в отдельных полях. IP-проверка отправляет запрос к ipify; если другой диагностический адрес лучше подходит для вашей среды, подставьте свой.
В Playwright также есть http_credentials параметр для HTTP-аутентификации. Этот параметр и форма входа в приложении относятся к аутентификации на сайте. Ни то, ни другое не следует использовать вместо имени пользователя и пароля прокси.
Ведите небольшую запись о конфигурации с двумя разделами: подключение к прокси и аутентификация на целевом ресурсе. Такое простое разделение помогает, когда об ошибке сообщают как о «сбое аутентификации», не уточняя, какой сервис отклонил запрос. Когда просите о помощи, передавайте только очищенные от конфиденциальных данных поля.
Для первоначальной проверки подключения запустите один браузер с одним прокси. Когда это заработает, используйте описанную в документации опцию уровня контекста, если вашему приложению нужны изолированные контексты с разными настройками. Не добавляйте несколько профилей, параллельные страницы и пользовательскую маршрутизацию одновременно с первой настройкой прокси.
Этот Справочник по API BrowserType описывает поля прокси и поддерживаемые параметры. Подбирайте примеры под языковую привязку, которую вы используете: соглашения об именовании в Python отличаются от JavaScript. Не копируйте объект JavaScript в Python, а затем не списывайте возникшую синтаксическую ошибку на сбой прокси.
Успешный первый ответ не означает, что все подресурсы, редиректы или последующие запросы выполнены успешно. Если навигация завершается ошибкой, записывайте, что сообщает Playwright: тайм-аут, сетевую ошибку браузера или HTTP-ответ. Если страница загрузилась, но её содержимое отличается, проверяйте собственные условия приложения, а не предполагайте, что прокси отключён.
В качестве второго адреса назначения используйте страницу, которую вы контролируете. Сравните запись о запросе на стороне сервера с наблюдением в браузере. Если вы включаете трассировку или сохраняете скриншоты, считайте эти файлы потенциально конфиденциальными: в них может содержаться контент страниц и информация о сессии.
Этот общее руководство по проверке прокси содержит отдельную последовательность диагностики на уровне конечной точки. Это полезно сделать до изучения селекторов, кликов или состояния приложения.
Не превращайте первоначальную проверку подключения в масштабный сбор данных. Добавьте одну разрешённую навигацию после диагностической страницы, затем минимальные действия, необходимые для вашей задачи. Осознанно контролируйте параллелизм и ожидания. Настройка прокси в контексте браузера не даёт разрешения на автоматизацию целевого ресурса и не снимает его ограничений доступа.
В сетевом руководстве SOCKSv5 описан наряду с поддержкой HTTP-прокси. Аутентификация и ограничения конкретных браузеров по-прежнему важны. Приведённый выше пример намеренно ограничен настройкой HTTP-прокси с аутентификацией; не считайте, что смена одной схемы делает поддерживаемой любую комбинацию аутентификации.
Нет. Определите, какая именно операция завершилась по тайм-ауту и был ли успешным первый диагностический запрос. Навигация, взаимодействие со страницей и ответы адреса назначения могут давать сбои по разным причинам.
Откройте бот, выберите тариф и доступную страну, затем скопируйте выданные настройки подключения в соответствующие поля. Открыть Proxyca в Telegram.