In Requests-HTML 0.10.0 gebruikt session.get() Requests, terwijl response.html.render() Pyppeteer start en Chromium normaal gesproken opnieuw naar de pagina-URL navigeert. Een geslaagd eerste antwoord legt de route van de browser niet vast.

Voor een bestaande compatibele oude omgeving met een HTTP-proxy zonder authenticatie:

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()

In het voorbeeld van de openbare pagina levert de HTTP-proxylijst kandidaten voor proxy_url. browser_args is de openbare constructorinvoer van de sessie. Een Requests-woordenboek proxies vult die Chromium-argumenten niet.

Ook de notatie socks5h:// van Requests kan niet zomaar naar Chromium worden gekopieerd. Chromium accepteert socks5://, lost SOCKS5-bestemmingsnamen via de proxy op en ondersteunt geen SOCKS5-authenticatie met gebruikersnaam en wachtwoord.

render(reload=False) geeft de bestaande HTML aan de browser in plaats van naar de pagina-URL te navigeren. Scripts en subbronnen kunnen nog steeds verzoeken doen. Het is nuttig wanneer dat antwoord bewust wordt gerenderd, maar het maakt de Requests-verbinding niet het transport van de browser.

Gerelateerde artikelen