Requests-HTML 0.10.0: konfigurace proxy pro Chromium při render()
Nakonfigurujte argumenty spuštění Chromia i Requests, když stará stránka Requests-HTML uspěje před render() a poté selže.
V Requests-HTML 0.10.0 používá session.get() knihovnu Requests, zatímco response.html.render() spouští Pyppeteer a obvykle znovu naviguje Chromium na URL stránky. Úspěšná první odpověď trasu prohlížeče nenastaví.
Pro existující kompatibilní staré prostředí s HTTP proxy bez ověřování:
from requests_html import HTMLSession
proxy_url = 'http://proxy.example:8080'
session = HTMLSession(browser_args=[
'--proxy-server=' + proxy_url,
])
try:
response = session.get(
'https://www.example.org/',
proxies={'https': proxy_url},
timeout=20,
)
response.html.render(timeout=20)
rendered = response.html.html
finally:
session.close()
V příkladu veřejné stránky nabízí seznam HTTP proxy kandidáty pro proxy_url. browser_args je veřejný vstup konstruktoru relace. Slovník proxies v Requests tyto argumenty Chromia nevyplní.
Ani zápis socks5h:// z Requests nelze do Chromia jednoduše zkopírovat. Chromium přijímá socks5://, překládá názvy cílů SOCKS5 přes proxy a nepodporuje ověřování SOCKS5 uživatelským jménem a heslem.
render(reload=False) předá prohlížeči existující HTML místo navigace na URL stránky. Skripty a podřízené zdroje mohou stále odesílat požadavky. Hodí se, když se má tato odpověď záměrně vykreslit, ale nepřemění připojení Requests na přenos prohlížeče.