Как драматург может отправить прокси-авторизацию при использовании Chromium?Python

Программы на Python
Anonymous
Как драматург может отправить прокси-авторизацию при использовании Chromium?

Сообщение Anonymous »

У меня есть прокси-сервер, для доступа к которому требуются имя пользователя и пароль (например, 127.0.0.1:8000, имя пользователя: abcdef, пароль: 123456).
Когда я использую Playwright для доступа к целевому веб-сайту через этот прокси-сервер, прокси-сервер получает пустой заголовок Proxy-Authorization, и доступ к веб-сайту невозможен, поскольку аутентификация прокси-сервера не удалась. Согласно документации Playwright, она поддерживает прокси-аутентификацию, прокси-аутентификация должна поддерживаться.
Интересно, что когда я тестирую с помощью WebKit, прокси-аутентификация работает должным образом, но не работает с Chromium.
Кто-нибудь сталкивался с этой проблемой или знает, как ее решить? Есть ли способ заставить прокси-аутентификацию работать с Playwright и Chromium?
Спасибо за помощь!
мой тестовый код:

Код: Выделить всё

from playwright.sync_api import sync_playwright
import subprocess
import os

# My Proxy
server = "http://127.0.0.1:8000"
password = "abcdef"
username = "123456"

dst_url="http://httpbin.org/ip"

def test_webkit_proxy():
print("=== Solution1: use WebKit ===")
with sync_playwright() as p:
browser = p.webkit.launch()
context = browser.new_context(
proxy={
"server": server,
"username": username,
"password": password
}
)
page = context.new_page()
try:
response = page.goto(dst_url, timeout=30000)
if response.status == 200:
print(f"✅ WebKit success: {response.status}")
else:
print(f"❌ WebKit fail: {response.status}")
print(f"response body: {response.text()}")
except Exception as e:
print(f"❌ WebKit fail: {e}")
finally:
browser.close()

def test_chromium_standard():
print("=== Solution2: use Chromium standard ===")
with sync_playwright() as p:
browser = p.chromium.launch()
context = browser.new_context(
proxy={
"server": server,
"username": username,
"password": password
}
)
page = context.new_page()
try:
response = page.goto(dst_url, timeout=30000)
if response.status == 200:
print(f"✅ Chromium standard success: {response.status}")
else:
print(f"❌ Chromium standard fail: {response.status}")
print(f"response body: {response.text()}")
except Exception as e:
print(f"❌ Chromium standard fail: {e}")
finally:
browser.close()

if __name__ == "__main__":
test_webkit_proxy()
test_chromium_standard()
Я хочу использовать библиотеку Playwright Python с Chromium таким образом, чтобы поддерживать аутентификацию через прокси.

Вернуться в «Python»