In Requests-HTML 0.10.0, session.get() usa Requests, mentre response.html.render() avvia Pyppeteer e di solito porta di nuovo Chromium all'URL della pagina. Una prima risposta riuscita non stabilisce il percorso del browser.

Per un ambiente legacy compatibile esistente con un proxy HTTP senza autenticazione:

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

Nell'esempio della pagina pubblica, la lista di proxy HTTP fornisce candidati per proxy_url. browser_args è l'input pubblico del costruttore della sessione. Un dizionario proxies di Requests non popola quegli argomenti di Chromium.

Neppure la grafia socks5h:// di Requests può essere copiata semplicemente in Chromium. Chromium accetta socks5://, risolve i nomi di destinazione SOCKS5 tramite il proxy e non supporta l'autenticazione SOCKS5 con nome utente e password.

render(reload=False) fornisce l'HTML esistente al browser invece di navigare all'URL della pagina. Gli script e le sotto-risorse possono comunque inviare richieste. È utile quando si vuole rendere deliberatamente quella risposta, ma non trasforma la connessione Requests nel trasporto del browser.

Articoli correlati