Requests-HTML 0.10.0: configurare il proxy di Chromium per render()
Configura gli argomenti di avvio di Chromium e Requests quando una vecchia pagina Requests-HTML riesce prima di render() e fallisce dopo.
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.