logo

Tutorial de solicitudes de Python

El Biblioteca de solicitudes en Python es una de las partes integrales de Python para realizar solicitudes HTTP a una URL específica. Ya sean API REST o Web Scraping, es necesario aprender las solicitudes para seguir adelante con estas tecnologías. Cuando uno realiza una solicitud a un URI, devuelve una respuesta. Las solicitudes de Python proporcionan funcionalidades integradas para gestionar tanto la solicitud como la respuesta.

'fórmula de albañil'

En este tutorial, exploraremos ¿Qué es? Biblioteca de solicitudes de Python , Cómo hacer OBTENER solicitudes a través de solicitudes de Python, objetos y métodos de respuesta, autenticación mediante solicitudes de Python, etc.



módulo-solicitudes-python

Tabla de contenidos

¿Qué es el módulo de solicitudes de Python?

  • Requests es una biblioteca HTTP con licencia Apache2, que permite enviar solicitudes HTTP/1.1 utilizando Python.
  • Para jugar con la web, es imprescindible Python Requests. Ya sea accediendo a las API, descargando páginas enteras de Facebook y muchas cosas más interesantes, habrá que realizar una solicitud a la URL.
  • Las solicitudes desempeñan un papel importante en el tratamiento de API REST , y Raspado web .
  • Consulte un ejemplo de secuencia de comandos de Python utilizando solicitudes y raspado web: Implementación de Web Scraping en Python con BeautifulSoup

Instalar solicitudes

La instalación de solicitudes depende del tipo de sistema operativo que utilice eis, el comando básico en cualquier lugar sería abrir una terminal de comandos y ejecutar,



pip install requests>

El método básico para la instalación de solicitudes en cualquier sistema operativo es tomar los archivos base e instalar las solicitudes manualmente y Solicitudes se desarrolla activamente en GitHub, donde el código siempre está disponible. Para código – visitar aquí . Puedes clonar el repositorio público:

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

Una vez que tenga una copia de la fuente, puede incrustarla en su propio paquete de Python o instalarla fácilmente en los paquetes de su sitio:

cd requestspip install   .>

Para más pago – Cómo instalar solicitudes en Python: para Windows, Linux, Mac



Hacer una solicitud

El módulo de solicitudes de Python tiene varios métodos integrados para realizar solicitudes Http a un URI específico mediante solicitudes GET, POST, PUT, PATCH o HEAD. Una solicitud Http está destinada a recuperar datos de un URI específico o enviar datos a un servidor. Funciona como un protocolo de solicitud-respuesta entre un cliente y un servidor. Demostremos cómo realizar una solicitud GET a un punto final. El método GET se utiliza para recuperar información del servidor determinado utilizando un URI determinado. El método GET envía la información de usuario codificada adjunta a la solicitud de página. La página y la información codificada están separadas por el carácter '?'. Por ejemplo:

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

Cómo realizar una solicitud GET a través de solicitudes de Python

El módulo de solicitudes de Python proporciona un método incorporado llamado conseguir() para realizar una solicitud GET a un URI específico.

Sintaxis

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

Ejemplo :

Intentemos realizar una solicitud a las API de github con fines de ejemplo.

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)>

>

>

guarde este archivo como request.py y ejecute la terminal,

python request.py>

Producción -

solicitudes-python-obtener-método

Para obtener más información, visite: Método GET: solicitudes de Python

Métodos de solicitud HTTP

Método Descripción
CONSEGUIR El método GET se utiliza para recuperar información del servidor determinado utilizando un URI determinado.
CORREO El método de solicitud POST solicita que un servidor web acepte los datos incluidos en el cuerpo del mensaje de solicitud, probablemente para almacenarlos.
PONER El método PUT solicita que la entidad adjunta se almacene bajo el URI proporcionado. Si el URI hace referencia a un recurso ya existente, se modifica y si el URI no apunta a un recurso existente, entonces el servidor puede crear el recurso con ese URI.
BORRAR El método DELETE elimina el recurso especificado.
CABEZA El método HEAD solicita una respuesta idéntica a la de una solicitud GET, pero sin el cuerpo de la respuesta.
PARCHE Se utiliza para modificar capacidades. La solicitud PATCH solo necesita contener los cambios en el recurso, no el recurso completo.

Objeto de respuesta

Cuando uno realiza una solicitud a un URI, devuelve una respuesta. Este objeto Response en términos de Python es devuelto por request.method(), siendo el método: get, post, put, etc. Response es un objeto poderoso con muchas funciones y atributos que ayudan a normalizar datos o crear porciones ideales de código. Por ejemplo, respuesta.status_code devuelve el código de estado de los encabezados y se puede verificar si la solicitud se procesó exitosamente o no. El objeto de respuesta se puede utilizar para implicar muchas características, métodos y funcionalidades.

Ejemplo :

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)>

Ups en java

>

>

Guarde este archivo como request.py y ejecútelo usando el siguiente comando

Python request.py>

solicitudes de respuesta-python

El código de estado 200 indica que la solicitud se realizó correctamente.

Métodos de respuesta

Método Descripción
encabezados.de.respuesta Response.headers devuelve un diccionario de encabezados de respuesta.
codificación.respuesta Response.encoding devuelve la codificación utilizada para decodificar Response.content.
respuesta.transcurrida respuesta.elapsed devuelve un objeto timedelta con el tiempo transcurrido desde que se envía la solicitud hasta la llegada de la respuesta.
respuesta.cerrar() Response.close() cierra la conexión con el servidor.
respuesta.contenido respuesta.content devuelve el contenido de la respuesta, en bytes.
cookies.de.respuesta Response.cookies devuelve un objeto CookieJar con las cookies enviadas desde el servidor.
historial.de.respuestas Response.history devuelve una lista de objetos de respuesta que contienen el historial de solicitudes (URL).
respuesta.is_permanent_redirect Response.is_permanent_redirect devuelve True si la respuesta es la URL redireccionada permanente; en caso contrario, False.
respuesta.is_redirect Response.is_redirect devuelve Verdadero si la respuesta fue redirigida; en caso contrario, Falso.
respuesta.iter_content() Response.iter_content() itera sobre Response.content.
respuesta.json() Response.json() devuelve un objeto JSON del resultado (si el resultado se escribió en formato JSON, si no, genera un error).
respuesta.url respuesta.url devuelve la URL de la respuesta.
respuesta.texto respuesta.text devuelve el contenido de la respuesta, en Unicode.
respuesta.status_code Response.status_code devuelve un número que indica el estado (200 está bien, 404 es No encontrado).
respuesta.solicitud respuesta.request devuelve el objeto de solicitud que solicitó esta respuesta.
respuesta.motivo Response.reason devuelve un texto correspondiente al código de estado.
respuesta.raise_for_status() Response.raise_for_status() devuelve un objeto HTTPError si se ha producido un error durante el proceso.
respuesta.ok Response.ok devuelve True si status_code es menor que 200; en caso contrario, False.
enlaces.respuesta Response.links devuelve los enlaces del encabezado.

Autenticación mediante solicitudes de Python

La autenticación se refiere a otorgar permisos a un usuario para acceder a un recurso en particular. Dado que no se puede permitir que todos accedan a los datos de cada URL, se requeriría principalmente autenticación. Para lograr esta autenticación, normalmente se proporcionan datos de autenticación a través del encabezado de Autorización o un encabezado personalizado definido por el servidor.

Ejemplo -

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)>

la mejor sonrisa del mundo
>

>

Reemplace usuario y pase con su nombre de usuario y contraseña. Autenticará la solicitud y devolverá una respuesta 200 o devolverá el error 403.

autenticar-solicitudes-python

Para más visita – Autenticación mediante solicitudes de Python

Verificación del certificado SSL

Solicitudes verifica los certificados SSL para solicitudes HTTPS, como un navegador web. Los certificados SSL son pequeños archivos de datos que vinculan digitalmente una clave criptográfica a los detalles de una organización. A menudo, un sitio web con un certificado SSL se denomina sitio web seguro. De forma predeterminada, la verificación SSL está habilitada y las solicitudes generarán un SSLError si no pueden verificar el certificado.

Deshabilitar la verificación del certificado SSL

Intentemos acceder a un sitio web con un certificado SSL no válido, utilizando solicitudes de Python

Python3




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

>

>

Producción :-

solicitudes-python-de-verificación-de-certificado-ssl

Este sitio web no tiene configuración SSL, por lo que genera este error. También se puede pasar el enlace al certificado para su validación únicamente mediante solicitudes de Python.

Python3


numeroso único



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

>

>

Esto funcionaría en caso de que la ruta proporcionada sea correcta para el certificado SSL para github.com.

Para más visita- Verificación de certificado SSL: solicitudes de Python

Objetos de sesión

El objeto de sesión permite conservar ciertos parámetros en todas las solicitudes. También conserva las cookies en todas las solicitudes realizadas desde la instancia de sesión y utilizará la agrupación de conexiones de urllib3. Por lo tanto, si se realizan varias solicitudes al mismo host, se reutilizará la conexión TCP subyacente, lo que puede resultar en un aumento significativo del rendimiento. Un objeto de sesión todos los métodos a partir de solicitudes.

Usando objetos de sesión

Ilustremos el uso de objetos de sesión configurando una cookie en una URL y luego realizando una solicitud nuevamente para verificar si la cookie está configurada.

Python3




java obteniendo la fecha actual
# 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)>

>

>

Producción:

solicitudes-de-objetos-de-sesión-python

Para obtener más información, visite: Objetos de sesión: solicitudes de Python

Conclusión

La biblioteca de solicitudes de Python es una poderosa herramienta para realizar solicitudes HTTP e interactuar con las API web. En este tutorial, cubrimos los conceptos básicos del envío de solicitudes GET y POST, el manejo de parámetros y encabezados y la gestión de datos de respuesta. La simplicidad y el diseño intuitivo de la biblioteca la hacen accesible tanto para principiantes como para desarrolladores experimentados.