Requests-HTML 0.10.0: konfigurisanje Chromium proxyja za render()
Konfigurišite argumente pokretanja Chromiuma i Requests kada stara Requests-HTML stranica uspe pre render(), a zatim ne uspe.
U Requests-HTML 0.10.0 session.get() koristi Requests, dok response.html.render() pokreće Pyppeteer i obično ponovo vodi Chromium na URL stranice. Uspešan prvi odgovor ne uspostavlja rutu pregledača.
Za postojeće kompatibilno staro okruženje sa HTTP proxyjem bez autentifikacije:
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()
U primeru javne stranice lista HTTP proxyja nudi kandidate za proxy_url. browser_args je javni ulaz konstruktora sesije. Requests rečnik proxies ne popunjava te Chromium argumente.
Ni Requests zapis socks5h:// ne može se jednostavno kopirati u Chromium. Chromium prihvata socks5://, razrešava nazive odredišta SOCKS5 kroz proxy i ne podržava SOCKS5 autentifikaciju korisničkim imenom i lozinkom.
render(reload=False) predaje postojeći HTML pregledaču umesto navigacije na URL stranice. Skripte i podresursi i dalje mogu da šalju zahteve. Korisno je kada se taj odgovor namerno renderuje, ali ne pretvara Requests vezu u transport pregledača.