Pour une application RoboBrowser existante, passez la session Requests qui détient les valeurs par défaut du 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')

La liste de proxys HTTP peut fournir des adresses pour ces valeurs par défaut lors de requêtes autorisées vers des pages publiques sans authentification de proxy. RoboBrowser utilise cette session pour ses requêtes. Le même objet conserve aussi les cookies et le reste de l'état Requests lorsque l'application navigue ou soumet des formulaires. Créer un autre navigateur sans passer la session crée une autre Session par défaut.

Pour une opération donnée, les interfaces publiques open, follow_link et submit_form de RoboBrowser acceptent des arguments de requête, dont les options de proxy. Cela offre un choix au niveau de l'opération lorsque les valeurs par défaut ne sont pas la route souhaitée pour chaque action.

Requests conserve toujours son comportement normal de fusion avec l'environnement. Traitez les proxys de la session comme des valeurs par défaut côté client et vérifiez les réglages d'environnement conflictuels si une opération choisit un autre point de terminaison.

Articles similaires