Requests-HTML 0.10.0: Chromium proxy nustatymas funkcijai render()
Nustatykite Chromium paleidimo argumentus ir Requests, kai sena Requests-HTML puslapis pavyksta prieš render() ir nepavyksta po jo.
Requests-HTML 0.10.0 versijoje session.get() naudoja Requests, o response.html.render() paleidžia Pyppeteer ir paprastai vėl nukreipia Chromium į puslapio URL. Sėkmingas pirmasis atsakymas nenustato naršyklės maršruto.
Esamai suderinamai senai aplinkai, kuri naudoja HTTP proxy be autentifikavimo:
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()
Viešo puslapio pavyzdyje HTTP proxy sąrašas siūlo kandidatus proxy_url reikšmei. browser_args yra viešoji sesijos konstruktoriaus įvestis. Requests proxies žodynas neužpildo tų Chromium argumentų.
Requests žymėjimo socks5h:// taip pat negalima tiesiog nukopijuoti į Chromium. Chromium priima socks5://, išsprendžia SOCKS5 paskirties pavadinimus per proxy ir nepalaiko SOCKS5 autentifikavimo vartotojo vardu ir slaptažodžiu.
render(reload=False) perduoda esamą HTML naršyklei, o ne nukreipia į puslapio URL. Scenarijai ir papildomi ištekliai vis dar gali siųsti užklausas. Tai naudinga, kai tas atsakymas sąmoningai atvaizduojamas, bet nepaverčia Requests ryšio naršyklės transportu.