logo

Tutorial sulle richieste Python

IL Richiede la libreria in Python è una delle parti integranti di Python per effettuare richieste HTTP a un URL specificato. Che si tratti di API REST o Web Scraping, le richieste sono un must da apprendere per procedere ulteriormente con queste tecnologie. Quando si effettua una richiesta a un URI, restituisce una risposta. Le richieste Python forniscono funzionalità integrate per la gestione sia della richiesta che della risposta.

creazione di array di stringhe in Java

In questo tutorial esploreremo cos'è Libreria di richieste Python , Come fare OTTIENI richieste tramite richieste Python, oggetti e metodi di risposta, autenticazione tramite richieste Python e così via.



modulo-richieste-python

Tabella dei contenuti

Cos'è il modulo Richieste Python?

  • Requests è una libreria HTTP con licenza Apache2, che consente di inviare richieste HTTP/1.1 utilizzando Python.
  • Per giocare con il web, Python Requests è indispensabile. Che si tratti di accedere alle API, di scaricare intere pagine di Facebook e di cose molto più interessanti, sarà necessario effettuare una richiesta all'URL.
  • Le richieste svolgono un ruolo importante nella gestione API REST , E Raschiamento Web .
  • Acquista un esempio di script Python utilizzando Richieste e Web Scraping – Implementazione del Web Scraping in Python con BeautifulSoup

Installazione delle richieste

L'installazione delle richieste dipende dal tipo di sistema operativo utilizzato, il comando di base ovunque sarebbe aprire un terminale di comando ed eseguire,



pip install requests>

Il metodo di base per l'installazione delle richieste su qualsiasi sistema operativo consiste nel prendere i file di base e installare le richieste manualmente e Requests è sviluppato attivamente su GitHub, dove il codice è sempre disponibile. Per il codice – visitare qui . Puoi clonare il repository pubblico:

git clone git://github.com/psf/requests.git>

Una volta che hai una copia del sorgente, puoi incorporarlo nel tuo pacchetto Python o installarlo facilmente nei pacchetti del tuo sito:

cd requestspip install   .>

Per ulteriori acquisti – Come installare le richieste in Python – Per Windows, Linux, Mac



Fare una richiesta

Il modulo delle richieste Python ha diversi metodi integrati per effettuare richieste HTTP all'URI specificato utilizzando richieste GET, POST, PUT, PATCH o HEAD. Una richiesta HTTP ha lo scopo di recuperare dati da un URI specificato o di inviare dati a un server. Funziona come un protocollo di richiesta-risposta tra un client e un server. Dimostriamo come effettuare una richiesta GET a un endpoint. Il metodo GET viene utilizzato per recuperare informazioni da un determinato server utilizzando un determinato URI. Il metodo GET invia le informazioni utente codificate aggiunte alla richiesta di pagina. La pagina e le informazioni codificate sono separate dal carattere '?'. Per esempio:

https://www.google.com/search?q=hello>

Come effettuare una richiesta GET tramite richieste Python

Il modulo delle richieste di Python fornisce un metodo integrato chiamato Ottenere() per effettuare una richiesta GET a un URI specificato.

Sintassi

requests.get(url, params={key: value}, args)>

Esempio :

Proviamo a fare una richiesta alle API di github a scopo di esempio.

Python3




import> requests> > # Making a GET request> r>=> requests.get(>' https://api.github.com/users/naveenkrnl '>)> > # check status code for response received> # success code - 200> print>(r)> > # print content of request> print>(r.content)>

>

>

salva questo file come request.py e tramite l'esecuzione del terminale,

python request.py>

Produzione -

metodo-get-richieste-python

Per ulteriori informazioni, visitare – Metodo GET: richieste Python

Metodi di richiesta HTTP

Metodo Descrizione
OTTENERE Il metodo GET viene utilizzato per recuperare informazioni da un determinato server utilizzando un determinato URI.
INVIARE Il metodo di richiesta POST richiede che un server web accetti i dati racchiusi nel corpo del messaggio di richiesta, molto probabilmente per archiviarli
METTERE Il metodo PUT richiede che l'entità racchiusa venga archiviata nell'URI fornito. Se l'URI fa riferimento a una risorsa già esistente, viene modificato e se l'URI non punta a una risorsa esistente, il server può creare la risorsa con quell'URI.
ELIMINARE Il metodo DELETE elimina la risorsa specificata
TESTA Il metodo HEAD richiede una risposta identica a quella di una richiesta GET, ma senza il corpo della risposta.
TOPPA Viene utilizzato per modificare le funzionalità. La richiesta PATCH deve contenere solo le modifiche alla risorsa, non la risorsa completa

Oggetto di risposta

Quando si effettua una richiesta a un URI, restituisce una risposta. Questo oggetto Response in termini di Python viene restituito da request.method(), il metodo è – get, post, put, ecc. Response è un oggetto potente con molte funzioni e attributi che aiutano a normalizzare i dati o creare porzioni ideali di codice. Per esempio, risposta.status_code restituisce il codice di stato dalle intestazioni stesse e si può verificare se la richiesta è stata elaborata con successo o meno. L'oggetto risposta può essere utilizzato per implicare molte caratteristiche, metodi e funzionalità.

Esempio :

Python3




# import requests module> import> requests> # Making a get request> response>=> requests.get(>' https://api.github.com/ '>)> # print request object> print>(response.url)> # print status code> print>(response.status_code)>

stringa in data

>

>

Salva questo file come request.py ed eseguilo utilizzando il comando seguente

Python request.py>

richieste-risposta-python

Il codice di stato 200 indica che la richiesta è stata effettuata con successo.

Metodi di risposta

Metodo Descrizione
risposta.headers Response.headers restituisce un dizionario di intestazioni di risposta.
codifica.risposta risposta.encoding restituisce la codifica utilizzata per decodificare risposta.content.
risposta.trascorsa risposta.elapsed restituisce un oggetto timedelta con il tempo trascorso dall'invio della richiesta all'arrivo della risposta.
risposta.close() risposta.close() chiude la connessione al server.
risposta.content risposta.content restituisce il contenuto della risposta, in byte.
risposta.cookies risposta.cookies restituisce un oggetto CookieJar con i cookie rispediti dal server.
cronologia.risposte risposta.history restituisce un elenco di oggetti di risposta che contengono la cronologia della richiesta (URL).
risposta.is_permanent_redirect risposta.is_permanent_redirect restituisce True se la risposta è l'URL reindirizzato permanente, altrimenti False.
risposta.is_redirect risposta.is_redirect restituisce True se la risposta è stata reindirizzata, altrimenti False.
risposta.iter_content() risposta.iter_content() esegue l'iterazione su risposta.content.
risposta.json() risposta.json() restituisce un oggetto JSON del risultato (se il risultato è stato scritto in formato JSON, in caso contrario genera un errore).
risposta.url risposta.url restituisce l'URL della risposta.
risposta.testo risposta.testo restituisce il contenuto della risposta, in unicode.
risposta.status_code Response.status_code restituisce un numero che indica lo stato (200 è OK, 404 è Non trovato).
risposta.richiesta risposta.request restituisce l'oggetto richiesta che ha richiesto questa risposta.
risposta.motivo risposta.reason restituisce un testo corrispondente al codice di stato.
risposta.raise_for_status() Response.raise_for_status() restituisce un oggetto HTTPError se si è verificato un errore durante il processo.
risposta.ok risposta.ok restituisce True se status_code è inferiore a 200, altrimenti False.
risposta.link Response.links restituisce i collegamenti di intestazione.

Autenticazione tramite richieste Python

L'autenticazione si riferisce alla concessione a un utente delle autorizzazioni per accedere a una particolare risorsa. Poiché non è possibile consentire a tutti di accedere ai dati da ogni URL, sarebbe necessaria principalmente l’autenticazione. Per ottenere questa autenticazione, in genere si forniscono i dati di autenticazione tramite l'intestazione di autorizzazione o un'intestazione personalizzata definita dal server.

Esempio -

Python3




# import requests module> import> requests> from> requests.auth>import> HTTPBasicAuth> # Making a get request> response>=> requests.get(>' https://api.github.com / user, '>,> >auth>=> HTTPBasicAuth(>'user'>,>'pass'>))> # print request object> print>(response)>

terminale kali linux
>

>

Sostituisci utente e passa con nome utente e password. Autenticherà la richiesta e restituirà una risposta 200 altrimenti restituirà l'errore 403.

richieste-autenticazione-python

Per ulteriori visite – Autenticazione tramite richieste Python

Verifica del certificato SSL

Requests verifica i certificati SSL per le richieste HTTPS, proprio come un browser web. I certificati SSL sono piccoli file di dati che legano digitalmente una chiave crittografica ai dettagli di un'organizzazione. Spesso un sito Web con un certificato SSL viene definito sito Web sicuro. Per impostazione predefinita, la verifica SSL è abilitata e Requests genererà un SSLError se non è in grado di verificare il certificato.

Disabilita la verifica del certificato SSL

Proviamo ad accedere a un sito Web con un certificato SSL non valido, utilizzando richieste Python

Python3




# import requests module> import> requests> # Making a get request> response>=> requests.get(>' https://expired.badssl.com/ '>)> # print request object> print>(response)>

>

>

Produzione :-

richieste-ssl-verification-python

Questo sito Web non dispone di una configurazione SSL, quindi genera questo errore. è anche possibile passare il collegamento al certificato per la convalida solo tramite richieste Python.

Python3


dhanashree verma



# import requests module> import> requests> # Making a get request> response>=> requests.get(>' https://github.com '>, verify>=>'/path/to/certfile'>)> # print request object> print>(response)>

>

>

Funzionerebbe nel caso in cui il percorso fornito sia corretto per il certificato SSL per github.com.

Per ulteriori visite- Verifica del certificato SSL – Richieste Python

Oggetti di sessione

L'oggetto Session consente di mantenere determinati parametri tra le richieste. Inoltre, persiste i cookie in tutte le richieste effettuate dall'istanza Session e utilizzerà il pooling di connessioni di urllib3. Pertanto, se vengono effettuate più richieste allo stesso host, la connessione TCP sottostante verrà riutilizzata, il che può comportare un significativo aumento delle prestazioni. Un oggetto di sessione tutti i metodi a partire dalle richieste.

Utilizzo degli oggetti di sessione

Illustriamo l'uso degli oggetti di sessione impostando un cookie su un URL e quindi effettuando nuovamente una richiesta per verificare se il cookie è impostato.

Python3




10 ml è quanto
# import requests module> import> requests> > # create a session object> s>=> requests.Session()> > # make a get request> s.get(>' https://httpbin.org/cookies/set/sessioncookie/123456789 '>)> > # again make a get request> r>=> s.get(>' https://httpbin.org/cookies '>)> > # check if cookie is still set> print>(r.text)>

>

>

Produzione:

sessioni-oggetti-richieste-python

Per ulteriori informazioni, visitare – Oggetti di sessione: richieste Python

Conclusione

Python Request Library è un potente strumento per effettuare richieste HTTP e interagire con le API web. In questo tutorial abbiamo trattato le nozioni di base sull'invio di richieste GET e POST, sulla gestione dei parametri e delle intestazioni e sulla gestione dei dati di risposta. La semplicità e il design intuitivo della libreria la rendono accessibile sia ai principianti che agli sviluppatori esperti.