Mantén el envío de formularios de MechanicalSoup en la misma ruta de proxy
Conecta una sesión de Requests configurada a StatefulBrowser para que abrir la página y enviar el formulario compartan ruta y 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)Elige el extremo antes de abrir la página del formulario. Para un formulario público donde se permiten proxies públicos, puede ser un candidato de la lista de proxies HTTP. Crea la sesión y pásala a StatefulBrowser como se muestra. Usa ese mismo navegador para open, la selección del formulario y submit_selected; ciérralo con browser.close() cuando termine el flujo de trabajo.
Así la política de proxy y el estado de las cookies permanecen en la sesión usada durante todo el intercambio. Un argumento proxies dado a una primera petición no configura automáticamente un envío posterior.
trust_env = False hace que la ruta de este ejemplo sea independiente de la configuración de proxy del entorno de Requests. También desactiva la selección del paquete de CA del entorno y la autenticación con .netrc. Proporciónalos explícitamente si el flujo los necesita, o ten en cuenta el entorno al elegir otra política.