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)

Scegli l'endpoint prima di aprire la pagina del modulo. Per un modulo pubblico in cui sono ammessi proxy pubblici, può essere un candidato dalla lista di proxy HTTP. Costruisci la sessione e passala a StatefulBrowser come mostrato. Usa lo stesso browser per open, la selezione del modulo e submit_selected; chiudilo con browser.close() quando il flusso di lavoro termina.

Così la politica del proxy e lo stato dei cookie restano sulla sessione usata per l'intero scambio. Un argomento proxies fornito a una singola richiesta iniziale non configura automaticamente un invio successivo.

trust_env = False rende la rotta di questo esempio indipendente dalle impostazioni proxy d'ambiente di Requests. Disattiva anche la selezione del pacchetto CA dall'ambiente e l'autenticazione con .netrc. Forniscili esplicitamente se il flusso di lavoro ne ha bisogno, oppure tieni conto dell'ambiente quando scegli una politica diversa.

Articoli correlati