multipart data POST utilisant les requêtes python: aucune limite multipart n'a été trouvée

j'ai un formulaire-données ainsi que fichier à envoyer dans le même poste. Pour ex, {durée: 2000, Fichier: test.WAV.} J'ai vu les nombreux threads ici sur multipart/form-data posting utilisant des requêtes python. Ils ont été utiles, en particulier celui-ci .

ma demande d'échantillon est la suivante:

    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)

mais quand j'exécute le code ci-dessus, je reçois cette erreur:

5: 59: 55.338 Dbg 09900 [DEBUG] Resolving exception à partir du gestionnaire [null]: org.springframework.Web.multipart.MultipartException: impossible de traiter la requête de servlet multipart; l'exception imbriquée est org.Apache.commun.fileupload.FileUploadException: la requête a été rejetée parce qu'aucune limite multipartite n'a été trouvée.

donc mes questions sont: 1) Comment puis-je voir le contenu de la demande envoyée? Je ne pouvais pas utiliser wireshark, ce n'est pas à travers le réseau. 2) pourquoi est-ce la limite manquantes dans les données codées? Je manque quelque chose, merci de nous hors.

21
demandé sur Community 2013-07-02 03:10:49

2 réponses

vous ne devriez jamais définir cet en-tête vous-même. Nous définissons l'en-tête correctement avec la limite. Si vous définissez cet en-tête, nous ne le ferons pas et votre serveur ne saura pas à quoi s'attendre (puisqu'il est ajouté à l'en-tête). Retirez votre en-tête personnalisé de type de contenu et tout ira bien.

36
répondu Ian Stapleton Cordasco 2013-07-03 02:02:12

suppression de L'en-tête Content-Type avec "multipart/form-data" explicite!

6
répondu Anirban Kundu 2015-10-28 05:49:10