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)

Välj slutpunkten innan du öppnar formulärsidan. För ett offentligt formulär där offentliga proxyserver är tillåtna kan den vara en kandidat från HTTP-proxylistan. Bygg sessionen och skicka den till StatefulBrowser enligt exemplet. Använd samma webbläsare för open, formulärvalet och submit_selected; stäng den med browser.close() när arbetsflödet är slut.

Detta behåller proxyprincipen och cookiestatusen i sessionen som används för hela utbytet. Ett proxies-argument som ges till en första hämtning konfigurerar inte automatiskt en senare inlämning.

trust_env = False gör exemplets väg oberoende av Requests proxyinställningar från miljön. Det stänger också av miljöbaserat val av CA-paket och .netrc-autentisering. Ange dem uttryckligen om arbetsflödet behöver dem, eller ta hänsyn till miljön när du väljer en annan princip.

Relaterade artiklar