solicitudes de Python

Funciones y métodos de Python

Cuando esté creando una aplicación en Python, puede llegar un momento en el que desee conectarse a un servicio de terceros. Por ejemplo, si está creando una herramienta de fitness, es posible que desee conectarse a la API de Fitbit para poder ver los datos de su ejercicio; una aplicación que puede enviar mensajes de texto puede conectarse a la API de Twilio.

En Python, la biblioteca de solicitudes le permite realizar solicitudes para que pueda conectar servicios web de terceros a sus aplicaciones. En esta guía, aprenderemos sobre la biblioteca de solicitudes de Python y cómo puede usarla para enviar solicitudes HTTP.




Solicitudes web: un repaso

Las solicitudes están en el centro de la Internet. Cuando hizo clic en este artículo, se envió una solicitud HTTP al servidor Career Karma. Esa solicitud le dijo a nuestros servidores qué página web deseaba ver para que nuestro servidor pudiera encontrar la página. Una vez que se encontró la página web, nuestro servidor web la devolvió a su navegador. Este proceso le permite ver este tutorial.

Las solicitudes web vienen en muchas formas diferentes. El tipo de solicitud que realizó para ver esta página web se denominó solicitud GET. Este tipo de solicitud le permite recuperar datos. Existen otros tipos de solicitudes como POST y PUT, que se utilizan para modificar los recursos en un servidor. Para los propósitos de este tutorial, nos centraremos en las solicitudes GET y POST.




Cómo instalar solicitudes

Requests es la biblioteca HTTP para Python que le permite hacer solicitudes.

Antes de que podamos realizar solicitudes web usando Python, tenemos que instalar la biblioteca de códigos de solicitudes de Python. Podemos hacerlo usando el siguiente comando:

 solicitudes de instalación de pip 

Ahora que hemos descargado el paquete Python, estamos listos para realizar una solicitud web.




Cómo realizar una solicitud GET

El tipo más común de solicitud web que usted & rsquo; haré es una solicitud GET. Este tipo de solicitud le permite recuperar datos de un servidor.

El 81% de los participantes afirmaron que se sentían más seguros acerca de sus perspectivas laborales después de asistir a un campamento de entrenamiento. Asigne a un bootcamp hoy mismo.

El graduado promedio de bootcamp pasó menos de seis meses en la transición profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Digamos que estamos hacer una aplicación que te permita recuperar una lista de datos sobre gatos. Para hacerlo, usaremos una API llamada cat-hechos. Esta API está abierta al público, por lo que no necesitamos ninguna credencial para iniciar sesión. Podríamos usar este código para realizar una solicitud a la API:

 solicitudes de importación res = solicitudes.get (' https: // cat-fact.herokuapp.com / fact') print (res.status_code) 

Este código devolvió: 200. Analicemos nuestro código.

En la primera línea, importamos la biblioteca de solicitudes. Esto nos permitió acceder a la biblioteca de solicitudes que usaremos en nuestro tutorial. Luego usamos el método request.get () para realizar una solicitud web. Podríamos haber usado métodos como .put () o .post () para realizar otros tipos de solicitudes, pero en este caso solo necesitábamos recuperar datos del cat- API de hechos.

A continuación, imprimimos el código de estado de nuestra solicitud web. Se devolvió el número 200, lo que nos dijo que nuestra solicitud web se realizó correctamente. Discutiremos qué significan estos números más adelante en el tutorial.




Visualización de una solicitud

En nuestro ejemplo anterior, hemos impreso el código de estado de nuestra solicitud. Pero, ¿cómo podemos ver los datos que hemos recuperado? ¿Dónde están los datos sobre gatos? Ahí es donde entran los métodos .text y .json () .

Ver respuesta de texto

Podemos usar el método .text para ver el resultado de nuestra solicitud web:

 solicitudes de importación res = solicitudes.get ('https: // cat-fact .herokuapp.com / hechos') print (res.text) 

Este código devolvió una lista de hechos sobre gatos. Pero esto no es muy práctico para nosotros porque los datos que estamos consultando son una API. Si bien ahora tenemos una lista de Python de datos sobre gatos, es difícil para nosotros leerlos porque están en texto plano.

Un formato más útil en el que se pueden almacenar nuestros datos sobre gatos es JSON. Podríamos recuperar los datos JSON de nuestra solicitud usando este código:

 print (res.json ()) 

Nuestro código devuelve una larga lista de datos sobre gatos. Aquí está el primer registro de la lista:

 {'_id':' 58e009550aac31001185ed12', 'text' : 'El video de gatos más antiguo de YouTube data de 1894.',' type': 'cat',' user': {'_id':' 58e007480aac31001185ecef', 'name': {' first': 'Kasimir',' last': 'Schulz'}},' upvotes': 6, 'userUpvoted': None} 

¡Éxito! Hemos logrado recuperar nuestra lista de datos sobre gatos.





Cómo realizar una solicitud POST

También puede utilizar la biblioteca de solicitudes para realizar una solicitud POST. Esto le permitirá modificar los datos almacenados en un servidor web.

Para este ejemplo, vamos a utilizar la API de Airtable. Esto se debe a que necesitamos usar una API que admita solicitudes POST y la API de cat-hechos es de solo lectura.

Supongamos que tenemos una base de datos donde registramos todas las tazas de té que bebemos. Acabamos de tomar otra taza de té y queremos agregarla a la base de datos. Podríamos hacerlo usando este código:

 encabezados de solicitudes de importación = {'Authorization':' Bearer API_KEY', 'Content-Type':' application / json',} data = '{" records ": [{" fields ": {" Drink ":" Black Decaf Tea "}}]}' res = orders.post ('https: // cat-fact.herokuapp.com / fact' , encabezados = encabezados, datos = datos) imprimir (volver s.json ()) 

Nuestro código devolvió:

 { 'records': [{' id': 'recqUEPuXEAXaNl1L',' fields': {'Drink':' Black Decaf Tea', 'Date':' 2020-06-16T08: 53: 02.000Z'}, 'createdTime' : '2020-06-16T08: 53: 02.000Z'}]} 

Esto nos dice que nuestra solicitud HTTP fue exitosa. Acabamos de agregar un registro a nuestra base de datos de Airtable usando su API. Analicemos estas líneas de código más a fondo.

Primero, importamos la biblioteca de solicitudes para poder realizar solicitudes HTTP en nuestro código.

Luego definimos un diccionario que contenía dos claves y valores: uno que almacenaba nuestra clave de autenticación y otro que especificaba el tipo de contenido que estábamos enviando al servidor web. Estos son los encabezados que necesitábamos enviar para realizar una solicitud a la API de Airtable.

A continuación, declaramos una variable llamada datos que almacenaba los datos que queríamos enviar junto con nuestra solicitud POST. En este caso, estábamos agregando una bebida llamada & ldquo; Black Decaf Tea & rdquo; a nuestra base de datos. Luego usamos el método request.post () y especificamos nuestros encabezados y datos como parámetros, lo que nos permitió realizar una solicitud POST a la API de Airtable.

" Career Karma entró en mi vida cuando más lo necesitaba y rápidamente me ayudó a combinar con un bootcamp. ¡Dos meses después de graduarme, encontré el trabajo de mis sueños que se alineaba con mis valores y metas en la vida! "

Venus, ingeniero de software de Rockbot

Finalmente, imprimimos el resultado de nuestra solicitud en formato JSON usando res.json () .




Códigos de estado HTTP

El protocolo HTTP devuelve un código de estado único cuando realiza una solicitud web. Esto le permite ver si su solicitud web se ha realizado correctamente o si se ha producido algún error. Probablemente ya haya visto algunos de estos, como 404.

Aquí hay una lista de referencia de códigos de estado que puede encontrar al realizar una solicitud con solicitudes de Python:

  • 1XX: Información
  • 2XX: La solicitud se realizó correctamente
  • 3XX: La solicitud se redirigió
  • 4XX: Error del lado del cliente
  • 5XX: Error del lado del servidor

Conocer estos códigos de estado nos permite agregar depuración en nuestro programa. Tomemos la solicitud GET del ejemplo de API de cat-hechos anterior. Supongamos que queremos imprimir un mensaje si no se puede encontrar el recurso al que estamos accediendo. Podríamos hacerlo usando este código:

 solicitudes de importación res = solicitudes.get ('https: // cat -fact.herokuapp.com / fact') if res.status_code == 200: print ("Success") else: print ("Error") 

Nuestro código devuelto: Success. Debido a que el código de estado de nuestra solicitud es 200, el mensaje & ldquo; Éxito & rdquo; se imprime en la consola. Sin embargo, si nuestra solicitud falló & ndash; por ejemplo, es posible que hayamos especificado una URL no válida & ndash; luego el mensaje & ldquo; Error & rdquo; se habría impreso en la consola.




Conclusión

La biblioteca de solicitudes de Python le permite realizar solicitudes HTTP en Python. En esta guía, discutimos cómo se usa la biblioteca de solicitudes de Python para realizar solicitudes GET y POST, pero también puede realizar solicitudes PUT y DELETE usando la biblioteca.

Cuando usa un método como solicitudes.get () o solicitudes.post () , Python realizará una solicitud al recurso web al que desea acceder. Puede adjuntar encabezados y datos con su solicitud, lo que le permite enviar información si desea realizar cambios en un recurso web de su propiedad.

Ahora está listo para comenzar a usar las solicitudes de Python biblioteca como un experto!





solicitudes de Python: StackOverflow Questions

Tutorials