MechanicalSoup의 폼 제출을 같은 프록시 경로로 유지하기
구성된 Requests 세션을 StatefulBrowser에 연결하여 페이지 열기와 폼 제출이 같은 경로와 쿠키를 공유하게 합니다.
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 인증도 비활성화합니다. 워크플로에 필요하면 명시적으로 제공하고, 다른 정책을 고를 때는 환경을 고려하세요.