Requests-HTML 0.10.0: Chromium-välityspalvelimen määrittäminen render()-kutsulle
Määritä Chromiumin käynnistysargumentit ja Requests, kun vanha Requests-HTML-sivu onnistuu ennen render()-kutsua ja epäonnistuu sen jälkeen.
Requests-HTML 0.10.0:ssa session.get() käyttää Requests-kirjastoa, kun taas response.html.render() käynnistää Pyppeteerin ja ohjaa Chromiumin yleensä uudelleen sivun URL-osoitteeseen. Onnistunut ensimmäinen vastaus ei vahvista selaimen reittiä.
Olemassa olevalle yhteensopivalle vanhalle ympäristölle, joka käyttää autenttimatonta HTTP-välityspalvelinta:
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()
Julkisen sivun esimerkissä HTTP-välityspalvelinluettelo tarjoaa ehdokkaita proxy_url-arvoksi. browser_args on istunnon julkinen konstruktorisyöte. Requestsin proxies-sanakirja ei täytä näitä Chromium-argumentteja.
Myöskään Requestsin kirjoitusasua socks5h:// ei voi kopioida sellaisenaan Chromiumiin. Chromium hyväksyy muodon socks5://, selvittää SOCKS5-kohdenimien osoitteet välityspalvelimen kautta eikä tue SOCKS5-käyttäjätunnus- ja salasanatodennusta.
render(reload=False) välittää olemassa olevan HTML:n selaimelle sen sijaan, että siirtyisi sivun URL-osoitteeseen. Skriptit ja aliresurssit voivat silti tehdä pyyntöjä. Siitä on hyötyä, kun kyseinen vastaus halutaan tarkoituksella renderöidä, mutta se ei tee Requests-yhteydestä selaimen siirtotietä.