Requests-HTML 0.10.0: konfigurera Chromium-proxyn för render()
Konfigurera Chromiums startargument och Requests när en gammal Requests-HTML-sida lyckas före render() och misslyckas efteråt.
I Requests-HTML 0.10.0 använder session.get() Requests, medan response.html.render() startar Pyppeteer och normalt navigerar Chromium till sidans URL igen. Ett lyckat första svar etablerar inte webbläsarens rutt.
För en befintlig kompatibel äldre miljö med en HTTP-proxy utan autentisering:
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()
I exemplet med den offentliga sidan ger HTTP-proxylistan kandidater för proxy_url. browser_args är sessionens offentliga konstruktorindata. En Requests-ordbok proxies fyller inte i dessa Chromium-argument.
Inte heller Requests stavning socks5h:// kan bara kopieras till Chromium. Chromium accepterar socks5://, löser SOCKS5-destinationsnamn via proxyn och stöder inte SOCKS5-autentisering med användarnamn och lösenord.
render(reload=False) ger den befintliga HTML:en till webbläsaren i stället för att navigera till sidans URL. Skript och underresurser kan fortfarande skicka förfrågningar. Det är användbart när svaret avsiktligt ska renderas, men det gör inte Requests-anslutningen till webbläsarens transport.