una tutorial scraping pagina instalar extraer examples example datos python multipartform-data python-requests

tutorial - web scraping python examples



POST de datos de múltiples partes utilizando solicitudes de python: no se encontró ningún límite de múltiples partes (2)

Tengo un formulario de datos, así como un archivo que se enviará en el mismo POST. Por ejemplo, {duration: 2000, file: test.wav}. Vi los muchos subprocesos aquí en la publicación multipart / form-data usando solicitudes de python. Fueron útiles, especialmente este .

Mi solicitud de muestra es la siguiente:

files = {''file'': (''wavfile'', open(filename, ''rb''))} data = {''duration'': duration} headers = {''content-type'': ''multipart/form-data''} r = self.session.post(url, files=files, data=data, headers=headers)

Pero cuando ejecuto el código anterior, obtengo este error:

5: 59: 55.338 Dbg 09900 [DEBUG] Resolviendo la excepción del controlador [nulo]: org.springframework.web.multipart.MultipartException: No se pudo analizar la solicitud del servlet de varias partes; la excepción anidada es org.apache.commons.fileupload.FileUploadException: la solicitud se rechazó porque no se encontró un límite de varias partes.

Entonces, mis preguntas son: 1) ¿Cómo puedo ver el contenido de la solicitud que se envía? No se pudo usar Wirehark, no está en la red. 2) ¿Por qué falta el límite en los datos codificados? ¿Me perdí algo? Por favor, señale.


¡Sacar el encabezado Content-Type con "multipart / form-data" explícito funcionó!


NUNCA debes establecer ese encabezado tú mismo. Establecemos el encabezado correctamente con el límite. Si establece ese encabezado, no lo haremos y su servidor no sabrá qué límite esperar (ya que se agrega al encabezado). Quita tu encabezado personalizado de Content-Type y estarás bien.