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.

Artigos relacionados