Richieste Python: tutto ciò che devi sapere



Questo blog ti guiderà attraverso il modulo delle richieste python in dettaglio. Acquisirai familiarità con le richieste GET e POST, gli oggetti di sessione, i cookie e le intestazioni.

Le richieste di Python raggiungono quasi 400.000 download ogni giorno. Questo numero è abbastanza evidente per capire la popolarità di questo . Negli ultimi anni, il linguaggio di programmazione Python è diventato il linguaggio di programmazione più desiderato da molti sviluppatori. I concetti e le librerie come le richieste sono uno dei tanti motivi per cui gli sviluppatori passano da altri linguaggi di programmazione a Python. In questo blog, esamineremo i seguenti argomenti:

Che cosa sono le richieste Python?

Le richieste Python sono state scritte da Kenneth Reitz e concesse in licenza con apache 2.0. È una libreria HTTP a misura d'uomo, come menzionato nella pagina della documentazione ufficiale. È facile da usare e fondamentalmente utilizzato per effettuare tutti i tipi di richieste HTTP. Di seguito sono riportate alcune funzionalità avanzate fornite con le richieste:
  1. Mantenere vivo e pool di connessioni
  2. Domini e URL internazionali
  3. Sessioni con persistenza dei cookie
  4. Verifica SSL in stile browser
  5. Decodifica automatica dei contenuti
  6. Autenticazione di base / digest
  7. Eleganti cookie chiave / valore
  8. Decompressione automatica
  9. Corpi di risposta Unicode
  10. Supporto proxy HTTP
  11. Caricamenti di file in più parti
  12. Download in streaming
  13. Timeout di connessione
  14. Richieste in blocchi
Queste sono tutte le funzionalità avanzate della libreria di richieste python, proviamo a capire perché usiamo le richieste python in primo luogo.

Perché utilizzare le richieste Python?

Quando si tratta del motivo per cui utilizziamo le richieste python? il motivo è piuttosto semplice. Durante l'utilizzo delle richieste Python, non è necessario aggiungere manualmente le query ai tuoi URL e ai dati dei post con codifica del modulo. Semplifica il nostro lavoro quando si effettuano richieste http di qualsiasi tipo.Ora che abbiamo familiarità con le richieste python e perché le usiamo in python, proviamo a capire come installeremo le richieste sul nostro progetto o sistema.

Come installare le richieste Python?

Anche la parte di installazione è molto semplice. Se hai installato pipenv sul tuo sistema, puoi semplicemente eseguire il seguente comando nel terminale.

$ pip richieste di installazione

Questo installerà la libreria delle richieste sul tuo sistema. C'è un altro approccio per installare le richieste. Se stai usando pycharm, puoi aggiungere richieste sull'interprete del progetto nelle impostazioni. Ha lo stesso scopo del terminale in caso di installazione della libreria sul nostro progetto.Ora che abbiamo finito con l'installazione, proviamo a capire come faremo ottenere e inviare richieste in python.

Come effettuare richieste Get & Post?

Ottieni richiesta è fondamentalmente utilizzato per richiedere i dati dal server. Di seguito è riportata la sintassi per effettuare una richiesta get.
richieste di importazione res = requests.get ('url') #res è l'oggetto risposta qui.
La richiesta post viene utilizzata per inviare i dati da elaborare al server. Di seguito è riportata la sintassi per effettuare una richiesta di post.
richieste di importazione payload = {'key1': 'value1'} res = requests.post ('url', data = payload)
Ora che sappiamo come possiamo effettuare richieste get e post, diamo un'occhiata a come possiamo passare parametri all'URL usando la richiesta get.

Passaggio di parametri in un URL

Passare parametri in un URL è semplice come effettuare una richiesta get. Di seguito è riportato un esempio per passare i parametri all'URL.
richieste di importazione payload = {'key1': 'value1', 'key2': 'value2'} res = requests.get ('url', params = payload) print (res.url) #questo stamperà l'URL con i parametri passato attraverso la richiesta get.

Codice di stato

Possiamo controllare anche il codice di stato, di seguito è riportato il codice per controllare il codice di stato:





richieste di importazione res = requests.get ('url') print (res.status_code ())
Se il codice restituisce 200, significa che non ci sono errori e la richiesta va bene. Se facciamo una cattiva richiesta, il codice restituirà un codice come 404 o 505 che solleverà un errore http.

Contenuto della risposta

Possiamo anche leggere il contenuto della risposta del server. La libreria decodificherà automaticamente il contenuto dal server.
richieste di importazione res = requests.get ('url') print (res.content)

Requests ha anche un decoder json integrato.

come gestire i popup nel webdriver selenio
richieste di importazione res = requests.get ('url') print (res.json ()) #questo otterrà la risposta in formato json

Caricamento di file in più parti

È molto facile caricare file in più parti utilizzando le richieste.
richieste di importazione files = {'file': open ('filename', 'rb')} res = requests.post ('url', files = files) print (res.text)
Per inviare più file, specificheremo più file nel parametro files.

Cookie e intestazioni

Possiamo visualizzare le intestazioni di risposta e i cookie del server utilizzando l'oggetto risposta. Di seguito è riportato il codice per visualizzare le intestazioni del server.
richieste di importazione res = requests.get ('url') print (res.headers)
Possiamo anche passare intestazioni personalizzate all'URL. Diamo un'occhiata al codice.
richieste di importazione headers = {'key1': 'value1'} res = requests.get ('url', headers = headers) print (res.headers)
Richieste non cambia il suo comportamento in base alle intestazioni personalizzate. Sono semplicemente passati alla richiesta finale. biscotti possono essere visualizzati anche utilizzando l'oggetto risposta.
richieste di importazione #per passare i nostri cookie possiamo utilizzare il parametro cookies cookies = dict (cookies = 'working') res = requests.get ('url', cookies = cookies) print (res.text)

I cookie vengono restituiti in un RequestCookieJar, che agisce come un dizionario ma offre anche un'interfaccia più completa, adatta per l'uso su più domini o percorsi.



Oggetto sessione

L'oggetto sessione consente di mantenere determinati parametri nelle richieste.
  • Persiste i cookie in tutte le richieste effettuate dall'istanza della sessione
  • Usa il pool di connessioni urllib3
  • Incrementa la performance
  • Un oggetto sessione ha tutti i metodi delle principali richieste API
Di seguito è riportato il codice per rendere persistenti alcuni cookie tra le richieste.
s = requests.session () s.get ('url') res = s.get ('url') print (res.text)

Errori ed eccezioni

Di seguito sono riportati gli errori e le eccezioni che vengono sollevati in una richiesta python.
  • In caso di problemi di rete, le richieste solleveranno un'eccezione ConnectionError.
  • Response.raise_for_status () solleverà un errore HTTP quando c'è un codice di stato non riuscito.
  • Se c'è un timeout, solleverà un'eccezione Timeout
  • L'eccezione TooManyRedirects viene sollevata se la richiesta supera il numero configurato del numero massimo di reindirizzamenti.
In questo blog abbiamo discusso il modulo delle richieste python in cui abbiamo varie funzionalità avanzate. Abbiamo discusso dell'installazione e dell'esecuzione di una richiesta get e post con il contenuto della risposta e altri concetti nella libreria delle richieste in python. Il modulo delle richieste di Python è una delle tante straordinarie funzionalità predefinite di linguaggio di programmazione python . Puoi dare il via al tuo apprendimento iscrivendoti a e scopri le possibilità del linguaggio di programmazione Python. Hai domande? menzionali nella sezione commenti, ti ricontatteremo.