[英]Jersey http client: put request with custom Content-Length
[英]Content-Length-Header not set in Jersey Client request
我正在使用Jersey Client訪問web服務,如下所示:
response = r.accept(MediaType.TEXT_PLAIN_TYPE).header("content-length", 0).post(String.class);
其中r是WebResource
但是,Webservice返回411 - 缺少Content-Length。
使用tcpdump,我發現我能夠指定自定義標頭,即.header("myheader", 0)
工作正常。
因此,由於某些原因,球衣似乎正在刪除內容長度標題。
有人有什么想法嗎?
我實際上要求對Restful webservice使用空的POST請求。
如果指定空字符串作為post方法的第二個參數,Jersey將創建值為0的Content-Length標頭。
例如response = r.accept(MediaType.TEXT_PLAIN_TYPE).post(String.class, "");
調用的內容長度由Jersey Client計算,不能設置。 Paul Sandoz--該項目的知名提交者 - 回答了類似的問題 :
問:我認為“Content-Length”標題沒有自動設置。
答: Jersey運行時[...]確定內容的長度。
如果您需要進一步的信息,請解釋您將字符串POST到空白大小的資源時所期望的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.