Pidä MechanicalSoupen lomakkeen lähetys samalla välityspalvelinreitillä
Liitä määritetty Requests-istunto StatefulBrowseriin, jotta sivun avaaminen ja lomakkeen lähetys jakavat reitin ja evästeet.
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)Valitse päätepiste ennen lomakesivun avaamista. Julkisessa lomakkeessa, jossa julkiset välityspalvelimet ovat sallittuja, se voi olla ehdokas HTTP-välityspalvelinluettelosta. Rakenna istunto ja välitä se StatefulBrowser-oliolle kuten näytetään. Käytä samaa selainta open-, lomakkeen valintaan ja submit_selected-kutsuun; sulje se browser.close()-kutsulla, kun työnkulku päättyy.
Näin välityspalvelinkäytäntö ja evästeiden tila pysyvät istunnossa, jota käytetään koko vaihdossa. Yhdelle alkuperäiselle noudolle annettu proxies-argumentti ei automaattisesti määritä myöhempää lähetystä.
trust_env = False tekee tämän esimerkin reitistä riippumattoman Requestsin ympäristön välityspalvelinasetuksista. Se myös poistaa käytöstä ympäristön CA-nipun valinnan ja .netrc-todennuksen. Anna ne erikseen, jos työnkulku tarvitsee niitä, tai ota ympäristö huomioon valitessasi toista käytäntöä.