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)

Escolle o extremo antes de abrir a páxina do formulario. Para un formulario público onde se permiten proxies públicos, pode ser un candidato da lista de proxies HTTP. Constrúe a sesión e pásaa a StatefulBrowser como se mostra. Usa ese mesmo navegador para open, a selección do formulario e submit_selected; péchao con browser.close() cando remate o fluxo de traballo.

Así a política de proxy e o estado das cookies quedan na sesión usada durante todo o intercambio. Un argumento proxies dado a unha primeira petición non configura automaticamente un envío posterior.

trust_env = False fai que a ruta deste exemplo sexa independente da configuración de proxy de contorno de Requests. Tamén desactiva a selección do paquete de CA do contorno e a autenticación con .netrc. Proporciónaos explicitamente se o fluxo os necesita, ou ten en conta o contorno ao escoller outra política.

Artigos relacionados