2011-02-28 8 views
42

Dosya yüklemek için HTTP PUT yöntemini kullanarak bir hizmet yazdım.HTTP PUT yöntemini kullanarak dosya yükleme işlemini sınama

Web Tarayıcıları, PUT'yi desteklememektedir, bu nedenle test için bir yönteme ihtiyacım var. Bir tarayıcıdan gelen POST olarak mükemmel çalışır.

güncelleştirmesi: Bu işe yaradı. Poster'i denedim ama kemancıyla aynı şeyden muzdarip. İsteğin nasıl oluşturulacağını bilmelisin. curl problemi halleder.

bukle -X PUT "localhost: 8080/urlstuffhere" -F "file = @ dosyaadı" -b "jsessionid cookievalue =" Bence

cevap

83

böyle test için en iyi araç curl olduğunu. Onun --upload-file seçenek tam olarak ne istediğini olan PUT bir dosya yükler (ve durumda, HTTP başlıklarını değiştirerek gibi İhtiyacınız çok daha fazlasını yapabilir): curl için

curl http://myservice --upload-file file.txt 
+0

Teşekkür ederiz. Önceden yapılmış bir CURL indirmesi var mı? – Speck

+1

@ user381091 Platformunuza bağlı, ancak pek çoğu destekleniyor gibi görünüyor. Http://curl.haxx.se/dlwiz/?type=bin – alienhard

+3

http://curl.haxx.se/dlwiz/?type=bin adresindeki indirme sihirbazının bir bağlantısı: Curl'ın ['--data'] (http: //curl.haxx. Bu yanıt tarafından orijinal olarak kullanılan se/docs/manpage.html) seçeneği, yeni satır karakterlerini çıkardığı ve bu nedenle dosyayı değiştirebileceği için dosya yüklemeleri için uygun değildir. Bunun yerine ['--upload-file'] (http://curl.haxx.se/docs/manpage.html#-T) ile değiştirdim. –

-1

, nasıl -d kullanma hakkında geçiş? Gibi: curl -X PUT "localhost:8080/urlstuffhere" -d "@filename"?

+1

-d (veya --data), genel veri yüklemesi için uygun değil. Belgelere bakın. – Enzo

+0

Anlıyorum, teşekkürler. @Enzo – ibic