Requests-HTML 0.10.0: Konfigurer Chromium-proxyen til render()
Konfigurer Chromium-startargumenterne og Requests, når en gammel Requests-HTML-side lykkes før render() og fejler bagefter.
I Requests-HTML 0.10.0 bruger session.get() Requests, mens response.html.render() starter Pyppeteer og normalt navigerer Chromium til sidens URL igen. Et vellykket første svar fastlægger ikke browserens rute.
Til et eksisterende kompatibelt ældre miljø med en HTTP-proxy uden godkendelse:
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 eksemplet med den offentlige side giver HTTP-proxylisten kandidater til proxy_url. browser_args er sessionens offentlige konstruktørinput. En Requests-ordbog proxies udfylder ikke de Chromium-argumenter.
Requests-stavemåden socks5h:// kan heller ikke bare kopieres til Chromium. Chromium accepterer socks5://, opløser SOCKS5-destinationsnavne gennem proxyen og understøtter ikke SOCKS5-godkendelse med brugernavn og adgangskode.
render(reload=False) giver den eksisterende HTML til browseren i stedet for at navigere til sidens URL. Scripts og underressourcer kan stadig sende anmodninger. Det er nyttigt, når svaret bevidst skal gengives, men det gør ikke Requests-forbindelsen til browserens transport.