2011-11-17 17 views
20

Web uygulaması için bir web servisi yapıyorum ve geliştirirken bunu test etmek için basit bir araç istiyorum. Bazı firefox eklentilerini denedim (Poster, 'REST İstemcisi') ve bunlar iyi çalışıyor olsa da, onlarla dosya yükleyemedim.Web hizmeti, komut satırı kullanarak nasıl test edilir curl

Ayrıca, bu web hizmeti için bir dizi entegrasyon testi yazmak için kullanabileceğim ve bu web servisinin tüketicilerine örnek olarak gönderebileceğim bir komut satırı aracı olmasını tercih ediyorum.

Bunun için curl'un çalışabileceğini biliyorum, ancak özellikle kimlik doğrulama (HTTP Basic kullanarak) ve dosya yüklemeleri gibi birkaç örnek olmasını isterim.

cevap

15

. Bunu deneyin: Ubuntu 11.0.4/11.10 üzerinde test edilmiştir.

İstenen içerik türü başka bir sorundur. Heyecan .xml/.json uzantısını kullanır, ancak daha deyimsel DİNLENME Accept başlığını gerektirecektir: eklemeler için

$ curl -H "Accept: application/json" 
+0

teşekkür ederiz. –

+0

Örneğini kullanmaya çalıştığımda bu hatayı alıyorum: 'xmllint' iç veya dış komut, çalıştırılabilir program veya toplu iş dosyası olarak tanınmıyor. Belki son 5 yılda bir şey değişti? – influent

+0

@influent, bu xmllint'in yüklü olmadığı anlamına gelir –

19

Kendi sorumu yanıtlama.

curl -X GET --basic --user username:password \ 
    https://www.example.com/mobile/resource 

curl -X DELETE --basic --user username:password \ 
    https://www.example.com/mobile/resource 

curl -X PUT --basic --user username:password -d 'param1_name=param1_value' \ 
    -d 'param2_name=param2_value' https://www.example.com/mobile/resource 

http://curl.haxx.se/docs/httpscripting.html ilgili belgeleri itibaren bir dosya ve ek parametre

curl -X POST -F '[email protected]/filepath/filename' \ 
    -F 'extra_param_name=extra_param_value' --basic --user username:password \ 
    https://www.example.com/mobile/resource 
2

deftere nakil:

HTTP Kimlik

curl --user name:password http://www.example.com 

Kıvrık bir HTTP sunucusuna bir dosya koyun:

Kıvrık
curl --upload-file uploadfile http://www.example.com/receive.cgi 

Gönder sonrası veriler: genellikle DİNLENME çıkışını (tipik JSON ve XML girinti yoksun) biçimlendirmek için istenen mevcut cevaplara ek olarak

curl --data "birthyear=1905&press=%20OK%20" http://www.example.com/when.cgi 
İlgili konular