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() เมื่อขั้นตอนการทำงานสิ้นสุด

วิธีนี้ทำให้แนวนโยบายพร็อกซีและสถานะคุกกี้อยู่ในเซสชันที่ใช้ตลอดการแลกเปลี่ยนทั้งหมด อาร์กิวเมนต์ proxies ที่ให้ในการดึงข้อมูลครั้งแรกเพียงครั้งเดียวไม่ได้กำหนดค่าการส่งในภายหลังโดยอัตโนมัติ

trust_env = False ทำให้เส้นทางของตัวอย่างนี้ไม่ขึ้นกับการตั้งค่าพร็อกซีจากสภาพแวดล้อมของ Requests นอกจากนี้ยังปิดการเลือกชุด CA ตามสภาพแวดล้อมและการยืนยันตัวตนด้วย .netrc ให้ระบุสิ่งเหล่านี้อย่างชัดเจนหากขั้นตอนการทำงานต้องการ หรือคำนึงถึงสภาพแวดล้อมเมื่อเลือกแนวนโยบายอื่น

บทความที่เกี่ยวข้อง