11.4.1 Oggetti URLopener

Gli oggetti URLopener e FancyURLopener possiedono i seguenti attributi.

open( fullurl[, data])
Apre fullurl usando il protocollo appropriato. Questo metodo imposta la cache e le informazioni di proxy, quindi chiama l'appropriato metodo open() con i suoi argomenti di input. Se lo schema non viene riconosciuto, viene chiamato open_unknown(). L'argomento data ha lo stesso significato dell'argomento data di urlopen().

open_unknown( fullurl[, data])
Interfaccia sovrascrivibile per aprire tipi di URL sconosciuti.

retrieve( url[, filename[, reporthook[, data]]])
Recupera il contenuto della url e la inserisce in filename. Il valore restituito è una tupla consistente di un nome file locale e un oggetto mimetools.Message contenente l'intestazione di risposta (per gli URL remoti) o None (per le URL locali). Il chiamante deve successivamente aprire e leggere il contenuto di filename. Se filename non viene passato, e la URL si riferisce ad file locale, viene restituito il filename in ingresso. Se la URL non è locale e filename non viene passato, filename è l'output di tempfile.mktemp() con un suffisso che corrisponde al suffisso del percorso dell'ultimo componente della URL in ingresso. Se reporthook viene passato, deve essere una funzione che accetta tre parametri numerici. Verrà chiamata dopo che ogni blocco di dati viene letto dal network. reporthook viene ignorato per gli URL locali.

Se la url utilizza lo schema identificativo http:, l'argomento facoltativo data deve essere passato per specificare una richiesta POST (normalmente il tipo di richiesta è GET). L'argomento data deve essere nel formato standard application/x-www-form-urlencoded; vedere la funzione urlencode() sotto.

version
Variabile che specifica lo user agent dell'oggetto opener. Per fare in modo che urllib dica ai server che si tratta di un particolare user agent, impostare questa in una sotto classe come una classe variabile o nel costruttore prima della chiamata al costruttore base.

La classe FancyURLopener offre un ulteriore metodo che può essere sovrascritto per fornire l'approccio più corretto:

prompt_user_passwd( host, realm)
Restituisce le informazioni necessarie per autenticare l'utente all'host indicato nello specifico contesto di sicurezza. Il valore restituito deve essere una tupla (user, password), che può venire usata per l'autenticazione di base.

L'implementazione chiede queste informazioni sul terminale; un'applicazione dovrebbe sovrascrivere questo metodo per usare un modello appropriato di interazione nell'ambiente locale.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.