Publicar datos de formulario de varias partes en Python con solicitudes: ejemplo de carga de archivo de matraz

Blog

Usaremos dos servidores. No es necesario que el servidor que recibe el archivo sea un servidor Python, pero como previamente creamos uno con Django en este tutorial , usémoslo en lugar de reinventar la rueda.



Nota: Por lo general, cargamos archivos de un cliente a un servidor, pero en este tutorial veremos cómo podemos cargar archivos de un servidor a otro servidor web usando Python y la biblioteca de solicitudes.

Abra una nueva terminal y cree y active un entorno virtual:






|_+_|

A continuación, clone el repositorio de GitHub e instale las dependencias:



|_+_|

A continuación, ejecute el servidor con los siguientes comandos:



|_+_|

El servidor estará disponible desde el 127.0.0.1:8000 y expondrá un /upload punto final que acepta una solicitud POST.






Nota : Este servidor también tiene CORS habilitado, lo que significa que puede aceptar solicitudes de diferentes dominios, así que asegúrese de habilitar CORS si está utilizando cualquier otro servidor.

Creando el Flask Server

Ahora, procedamos a crear el servidor Python de carga que utilizará la biblioteca de solicitudes para enviar solicitudes POST al 127.0.0.1:8000/upload punto final para cargar un archivo entre dos servidores.

Instalación de solicitudes

Instalemos la biblioteca de solicitudes usando pip:

correo de voz no funciona en & t
|_+_|

Instalación del matraz

Usaremos Flask; un único archivo y un marco web ligero para crear el servidor Python que carga el archivo. Primero instale el matraz usando pip:

|_+_|

A continuación, cree un server.py archivo y agregue el siguiente código:

|_+_|

Creamos un / ruta para renderizar el index.html plantilla que mostrará un formulario y la ruta /handle_form que procesará el formulario de varias partes, obtenga el archivo cargado desde el requests.files[] matriz y retorno. Usaremos este método para enviar el formulario al servidor django usando la biblioteca de solicitudes.

A continuación, cree un templates carpeta y agregue un archivo index.html con el siguiente código:

hipot() python
|_+_|


Creamos una forma de

tipo de codificación que tiene un campo de archivo para seleccionar un archivo del disco duro.

Envío de archivos con la biblioteca de solicitudes

El multipart/form-data de nuestra aplicación de matraz recibe el archivo publicado pero no lo guarda. En su lugar, usaremos la biblioteca de solicitudes para subirlo al servidor de django.

Simplemente cambie el handle_form() método de la siguiente manera:

|_+_|

Obtenemos el formulario publicado desde el handle_form() matriz, a continuación usamos el if r.ok: return 'File uploaded!' else: return 'Error uploading file!' método para cargar el archivo en el otro servidor mediante una solicitud POST. Si la solicitud tiene éxito, request.Files será Verdadero.

A continuación, ejecute el servidor con el siguiente comando:

problema de autenticacion wifi kindle fire
|_+_|

Su servidor Python estará disponible en requests.post() Dirección.

Si selecciona un archivo y lo carga, debe tener el archivo cargado en el r.ok carpeta del servidor django.

Conclusión

En este tutorial, ha visto cómo puede usar Python y la biblioteca de solicitudes para cargar un archivo desde un servidor a otro servidor.

Publicado originalmente en techiediaries.com el 11 mar 2019

===================================================================

Gracias por leer: corazón: si te gustó esta publicación, ¡compártela con todos tus compañeros de programación! Sigueme en Facebook | Gorjeo

Aprende más

Bootcamp completo de Python: pasa de cero a héroe en Python 3

Bootcamp para desarrolladores web de Python y Django Full Stack

el desarrollador web completo en 2020: de cero a dominio

Python para análisis de datos de series temporales

Programación Python para principiantes desde cero

Guía para principiantes sobre Python: ¡aprende Python desde cero! (Nuevo)

Python para principiantes: programación completa en Python

Django 2.1 y Python | El Bootcamp de desarrollo web definitivo

Python eCommerce | Cree una aplicación web de comercio electrónico Django

Python Django Dev to Deployment

#python #django

www.techiediaries.com

Publicar datos de formulario de varias partes en Python con solicitudes: ejemplo de carga de archivo de matraz

En este tutorial, demostraremos cómo cargar un archivo desde un servidor Python a otro servidor enviando una solicitud POST con multipart / form-data utilizando la biblioteca de solicitudes Python.

componente funcional de prueba de broma