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.
Tabella dei contenuti
- Cos'è il modulo Richieste Python?
- Come effettuare una richiesta GET tramite richieste Python
- Metodi di richiesta HTTP
- Oggetto di risposta
- Metodi di risposta
- Autenticazione tramite richieste Python
- Verifica del certificato SSL
- Oggetti di sessione
- Conclusione
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 -
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>
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.
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 :-
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:
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.