2015-11-26 47 views
2

我使用HTTPie發佈 多部分/表格數據請求(通過-f選項)。它包括一個 文件字段(使用@選項)。 multipart請求的相應部分具有僞首標Content-Disposition,但 沒有僞首標Content-Type內容類型的多部分/形式數據與HTTPie的一個文件

如何爲特定文件添加這樣的Content-Type

爲了完整起見,這裏是我現在送(如-p B所示):

--xyz 
Content-Disposition: form-data; name="file"; filename="file.txt" 

Hello, world! 
This is the content of the file. 

--xyz 

但這裏是我需要發送:

--xyz 
Content-Disposition: form-data; name="file"; filename="file.txt" 
Content-Type: text/plain 

Hello, world! 
This is the content of the file. 

--xyz 

,或者換一種說法,如CURL等效選項:-F "file=file.txt;type=text/plain"

回答

2

這對於httpie來說是不可能的。有一個issue for it,有一些pull請求來解決它,但沒有一個被合併。

+0

這就是我所害怕的:-(感謝您的回答和鏈接! –

+1

截至五分鐘前,主早午餐支持內容類型檢測;)$ pip install --upgrade https://github.com/jkbrzt/httpie/tarball/master –

+0

@jkbrzt看起來像它仍然不允許爲多部分請求的其他部分設置Content-Type標頭,這是curl允許執行的方式,例如:'curl --form「 param = Test; type = text/plain「--form」[email protected]; type = application/json「'。我向基於Spring的REST應用程序發送請求,並檢查每個多部分請求參數的Content-Type標頭。如果至少缺少一個,則會引發異常。 – jFrenetic

1

這爲我工作:

http -f POST :8080/submit-file [email protected] [email protected] [email protected] 

本文檔幫助我:https://httpie.org/doc#file-upload-forms

[email protected]使得httpie與內容類型text/plain發送。

+0

對不起,出於某種原因,我現在只能看到您的回覆。謝謝。但重點不在於「文本/純文本」,而是爲了能夠設置內容類型。在你的例子中,我希望能夠確保它是「application/json」,而不是「text/plain」。 –

+0

我從問題的最後一句中弄錯了。捲曲等價物:-F「file = file.txt; type = text/plain」。我現在已經脫離了語境,現在要回頭看看。 –

相關問題