Houd het formulier verzenden van MechanicalSoup op dezelfde proxyroute
Koppel een geconfigureerde Requests-sessie aan StatefulBrowser, zodat het openen van de pagina en het verzenden van het formulier dezelfde route en cookies delen.
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)Kies het eindpunt voordat je de formulierpagina opent. Voor een openbaar formulier waar publieke proxies zijn toegestaan, kan het een kandidaat uit de HTTP-proxylijst zijn. Bouw de sessie en geef deze door aan StatefulBrowser, zoals getoond. Gebruik diezelfde browser voor open, formulierkeuze en submit_selected; sluit hem met browser.close() wanneer de workflow eindigt.
Zo blijven het proxybeleid en de cookiestatus in de sessie die voor de hele uitwisseling wordt gebruikt. Een proxies-argument dat bij één eerste ophaalactie wordt meegegeven, configureert een latere inzending niet automatisch.
trust_env = False maakt de route van dit voorbeeld onafhankelijk van Requests' proxy-instellingen uit de omgeving. Het schakelt ook de op de omgeving gebaseerde CA-bundelkeuze en .netrc-authenticatie uit. Geef die expliciet op als de workflow ze nodig heeft, of houd rekening met de omgeving bij het kiezen van een ander beleid.