Gardez la soumission de formulaire de MechanicalSoup sur la même route proxy
Associez une session Requests configurée à StatefulBrowser pour que l'ouverture de la page et l'envoi du formulaire partagent route et cookies.
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.