V Requests-HTML 0.10.0 session.get() uporablja Requests, medtem ko response.html.render() zažene Pyppeteer in običajno znova usmeri Chromium na URL strani. Uspešen prvi odgovor ne vzpostavi poti brskalnika.

Za obstoječe združljivo staro okolje s proxyjem HTTP brez preverjanja pristnosti:

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 primeru javne strani seznam proxyjev HTTP ponuja kandidate za proxy_url. browser_args je javni vhod konstruktorja seje. Slovar proxies v Requests ne zapolni teh argumentov Chromiuma.

Tudi zapisa socks5h:// iz Requests ni mogoče preprosto kopirati v Chromium. Chromium sprejme socks5://, imena ciljev SOCKS5 razreši prek proxyja in ne podpira preverjanja pristnosti SOCKS5 z uporabniškim imenom in geslom.

render(reload=False) posreduje obstoječi HTML brskalniku, namesto da bi krmaril na URL strani. Skripti in podviri lahko še vedno pošiljajo zahteve. Koristno je, ko je treba ta odgovor namerno izrisati, vendar povezave Requests ne spremeni v transport brskalnika.

Sorodni članki