2013-07-01 27 views
19

Aynı POST'ta gönderilecek formun yanı sıra bir form verim var. Örneğin, {duration: 2000, file: test.wav}. Burada birçok konu python isteklerini kullanarak multipart/form-data gönderme üzerinde gördüm. Yararlılardı, özellikle this one.multipart data python isteklerini kullanarak POST: multipart sınırı bulunamadı

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) 

Ama yukarıdaki kodu çalıştırdığınızda, bu hatayı alıyorum::

Benim örnek isteği aşağıdaki gibidir

5: 59: 55,338 DBG 09900 [DEBUG] işleyicisinden istisna çözümleniyor [ null]: org.springframework.web.multipart.MultipartException: Çok parçalı servlet isteğini ayrıştırılamadı; nested exception org.apache.commons.fileupload.FileUploadException: çoktanlı sınır bulunmadığı için istek reddedildi.

Sorularım şunlardır: 1) Gönderilen isteklerin içeriğini nasıl görebilirim? Wireshark kullanılamadı, ağ üzerinden değil. 2) Sınırlar neden kodlanmış verilerde eksik? Bir şey özledim, lütfen dikkat edin.

cevap

35

Bu başlığı ASLA kendiniz ayarlamamalısınız. Başlığı sınır ile uygun şekilde ayarladık. Bu üstbilgiyi ayarlarsanız, sunucunuz beklemeyeceğimizi (başlığa eklendiğinden) bilmeyeceğiz. Özel İçerik Türü üstbilginizi kaldırın ve iyi olacaksınız.

6

Content-Type üstbilgisini açıkça "çok parçalı/form verisi" ile dışarıda bırakmak işe yaradı!

İlgili konular