import mechanicalsoup
import requests

session = requests.Session()
session.trust_env = False
session.proxies.update({
    "http": "http://proxy.example.net:8080",
    "https": "http://proxy.example.net:8080",
})

browser = mechanicalsoup.StatefulBrowser(session=session)

Choisissez le point de terminaison avant d'ouvrir la page du formulaire. Pour un formulaire public où les proxys publics sont autorisés, ce peut être un candidat de la liste de proxys HTTP. Construisez la session et transmettez-la à StatefulBrowser comme indiqué. Utilisez ce même navigateur pour open, la sélection du formulaire et submit_selected ; fermez-le avec browser.close() à la fin du flux de travail.

Ainsi, la politique de proxy et l'état des cookies restent sur la session utilisée pendant tout l'échange. Un argument proxies fourni à une requête initiale ne configure pas automatiquement un envoi ultérieur.

trust_env = False rend la route de cet exemple indépendante des réglages de proxy d'environnement de Requests. Il désactive aussi la sélection du paquet de CA depuis l'environnement et l'authentification par .netrc. Fournissez-les explicitement si le flux de travail en a besoin, ou tenez compte de l'environnement en choisissant une autre politique.

Articles similaires