Per un'applicazione RoboBrowser esistente, passa la sessione Requests che possiede i valori predefiniti del proxy:

from requests import Session
from robobrowser import RoboBrowser

session = Session()
session.proxies.update({
    'http': 'http://proxy.example.net:8080',
    'https': 'http://proxy.example.net:8080',
})

browser = RoboBrowser(session=session, parser='html.parser')
browser.open('https://example.net/form')

L'elenco dei proxy HTTP può fornire indirizzi per questi valori predefiniti quando si effettuano richieste consentite a pagine pubbliche senza autenticazione proxy. RoboBrowser usa questa sessione per le sue richieste. Lo stesso oggetto conserva anche i cookie e il resto dello stato Requests mentre l'applicazione naviga o invia moduli. Creare un altro browser senza passare la sessione crea un'altra Session predefinita.

Per una determinata operazione, le interfacce pubbliche open, follow_link e submit_form di RoboBrowser accettano argomenti di richiesta, comprese le opzioni proxy. Questo offre una scelta a livello di operazione quando i valori predefiniti non sono il percorso desiderato per ogni azione.

Requests conserva ancora il suo normale comportamento di fusione dell'ambiente. Tratta i proxy della sessione come valori predefiniti lato client e controlla le impostazioni d'ambiente in conflitto se un'operazione sceglie un altro endpoint.

Articoli correlati