No se puede enviar la solicitud de publicación adecuada con el archivo con las solicitudes de Python3 -- python-3.x campo con api campo con file-upload campo con python-requests campo con multipartform-data camp Relacionados El problema

Can't send proper post request with file using python3 requests


0
vote

problema

Español

Estaba usando Postman para enviar una solicitud postal como en la captura de pantalla

pantalla de cartero con la solicitud exitosa

Ahora necesito implementarlo en Python. Esto es lo que tengo por ahora:

  import requests  data = {"sendRequest": {"apiKey": 12345, "field1": "field1value"}} files = {"attachment": ("file.txt", open("file.txt", "rb"))} headers = {"Content-type": "multipart/form-data"} response = requests.post(endpoint, data=data, headers=headers, files=files)   

Pero aún así no funciona: el servidor no lo acepta como una solicitud válida. He intentado más combinaciones, pero sin resultados y realmente no pude encontrar una solución. Necesito esta solicitud para ser exactamente así en posterman

Original en ingles

I was using Postman to send post request like on the screenshot

screen from postman with successful request

Now I need to implement it in python. This is what i've got for now:

import requests  data = {"sendRequest": {"apiKey": 12345, "field1": "field1value"}} files = {"attachment": ("file.txt", open("file.txt", "rb"))} headers = {"Content-type": "multipart/form-data"} response = requests.post(endpoint, data=data, headers=headers, files=files) 

But still it's not working - server doesn't accept it as valid request. I've tried more combinations but without any results and I really couldn't find a solution. I need this request to be exactly like that one in postman

              
   
   

Lista de respuestas

0
 
vote

Finalmente encontré una solución. Usé Multipartencoder de la biblioteca Solicitud_Toolbelt.

  for elem in array:     count[elem] = count.get(elem, 0) + 1 for elem, elem_count in count.items():     if 0.20 <= float(elem_count) / len(array) <= 0.25:         print "{} has a frequency between 20% and 25%".format(elem) 4  
 

I finally found a solution. I used MultipartEncoder from requests_toolbelt library.

from requests_toolbelt import MultipartEncoder import requests import json  data = {"apiKey": 12345, "field1": "field1value"}} mp = MultipartEncoder(     fields={         'sendRequest': json.dumps(data), # it is important to convert dict into json         'attachment': ('file.pdf', open('file.pdf', 'rb'), 'multipart/form-data'),     } ) r = requests.post(ENDPOINT, data=mp, headers={'Content-Type': mp.content_type}) 
 
 

Relacionados problema

13  Falta el token de solicitud para solicitar  ( Missing request token for request ) 
Obtenga todos los contactos de la agenda telefónica y cargue al servidor, pero obtuvo un error siguiente. Mientras adjunte la imagen en la solicitud del cue...

13  ¿Cuáles son los caracteres válidos para crear un límite de forma multiparte?  ( What are valid characters for creating a multipart form boundary ) 
En un formulario HTML Publicar ¿Cuáles son los caracteres válidos para crear un límite multipart? ...

3  Carga de imágenes por lotes con el cuerpo de la solicitud  ( Batch image upload with request body ) 
Estaba intentando cargar imágenes de la aplicación SWIFT a un servidor basado en PHP. He recopilado algún código relacionado y intento usarlo, pero la carga n...

1  Forma con carga de imagen usando AJAX / JQERY  ( Form with image upload using ajax jquery ) 
Tengo un formulario con multipart/form-data enctorse, algo como este código HTML: <form id="myform" action="/parse" method="post" enctype="multipart/form...

-4  Subir un archivo muestra NULL utilizando la biblioteca de iones  ( Uploading a file shows null using ion library ) 
Estoy tratando de cargar un archivo PDF al servidor, pero estoy obteniendo una tostada nula de acuerdo con mi método, probé la ruta del archivo en una vista ...

2  ¿Por qué jqxhr.responstext devolviendo mi archivo php y no ejecutando el script?  ( Why is jqxhr responsetext returning my php file and not executing the script ) 
Estoy tratando de simplemente ejecutar una solicitud AJAX a mi servidor. La solicitud pasa mis datos de formulario para firmar.php donde la información es lue...

5  GaE / J: ¿Cómo publico un mensaje MIME MIME MIMEGINE de AppEngine a Facebook  ( Gae j how do i post a multipart mime message from appengine to facebook ) 
Quiero publicar una foto (almacenada en AppEngine DB) a Facebook. Para probar, tengo la comprensión básica a nivel local: he sido exitoso con este formula...

11  Multipartart / Form-Data, ¿cuál es el conjunto de caracteres predeterminados para los campos?  ( Multipart form data what is the default charset for fields ) 
¿Cuál es la codificación predeterminada que se debe usar para decodificar los datos multiparte / formulario si no se da ningún cargo? RFC2388 estados: 4.5 ...

13  Retrofit 2 Multipart Post Solicitar envía cotizaciones adicionales a PHP  ( Retrofit 2 multipart post request sends extra quotes to php ) 
Uso de Retrofit 2.0.1, hay una función de llamada en mi interfaz API definida en la aplicación Android: @Multipart @POST("api.php") Call<ResponseBody> doAP...

6  ¿Cómo subir la imagen de mapa de bits de un dispositivo Android?  ( How to upload bitmap image from a android device ) 
Gracias de antemano. Me gustaría subir una imagen de bitmap de mi aplicación de Android. Pero, no puedo conseguirlo. ¿Podría recomendar algunas soluciones par...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos