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.

Artículos relacionados