Mantenha o envio de formulário do MechanicalSoup na mesma rota de proxy
Anexe uma sessão Requests configurada ao StatefulBrowser para que a abertura da página e o envio do formulário compartilhem rota e 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)Escolha o endpoint antes de abrir a página do formulário. Para um formulário público em que proxies públicos são permitidos, ele pode ser um candidato da lista de proxies HTTP. Monte a sessão e passe-a para StatefulBrowser, como mostrado. Use esse mesmo navegador para open, a seleção do formulário e submit_selected; feche-o com browser.close() quando o fluxo terminar.
Assim, a política de proxy e o estado dos cookies permanecem na sessão usada para toda a troca. Um argumento proxies fornecido em uma única busca inicial não configura automaticamente um envio posterior.
trust_env = False torna a rota deste exemplo independente das configurações de proxy de ambiente do Requests. Também desativa a seleção de pacote CA baseada no ambiente e a autenticação .netrc. Forneça-as explicitamente se o fluxo precisar delas, ou considere o ambiente ao escolher outra política.