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)

Επιλέξτε το τελικό σημείο πριν ανοίξετε τη σελίδα της φόρμας. Για μια δημόσια φόρμα όπου επιτρέπονται δημόσιοι διαμεσολαβητές, μπορεί να είναι υποψήφιος από τη λίστα διαμεσολαβητών HTTP. Δημιουργήστε τη συνεδρία και περάστε τη στο StatefulBrowser όπως φαίνεται. Χρησιμοποιήστε τον ίδιο περιηγητή για open, επιλογή φόρμας και submit_selected· κλείστε τον με browser.close() όταν τελειώσει η ροή εργασίας.

Έτσι η πολιτική διαμεσολαβητή και η κατάσταση των cookies μένουν στη συνεδρία που χρησιμοποιείται για όλη την ανταλλαγή. Ένα όρισμα proxies που δίνεται σε μία αρχική ανάκτηση δεν ρυθμίζει αυτόματα μια μεταγενέστερη υποβολή.

Το trust_env = False κάνει τη διαδρομή αυτού του παραδείγματος ανεξάρτητη από τις ρυθμίσεις διαμεσολαβητή περιβάλλοντος του Requests. Επίσης απενεργοποιεί την επιλογή πακέτου CA από το περιβάλλον και τον έλεγχο ταυτότητας με .netrc. Δώστε τα ρητά αν τα χρειάζεται η ροή εργασίας, ή λάβετε υπόψη το περιβάλλον όταν επιλέγετε άλλη πολιτική.

Σχετικά άρθρα