Зберегти надсилання форми MechanicalSoup на тому самому проксі-маршруті
Приєднайте налаштований сеанс Requests до StatefulBrowser, щоб відкриття сторінки й надсилання форми використовували один маршрут і ті самі cookie.
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(), коли робота завершиться.
Так політика проксі та стан cookie залишаються в сеансі, який використовується для всього обміну. Аргумент proxies, переданий під час першого завантаження, не налаштовує автоматично наступне надсилання.
trust_env = False робить маршрут цього прикладу незалежним від налаштувань проксі з оточення Requests. Він також вимикає вибір пакета CA з оточення та автентифікацію через .netrc. Укажіть їх явно, якщо вони потрібні, або враховуйте оточення, вибираючи іншу політику.