HttpClient傳送檔案與報文

2021-07-11 22:07:07 字數 4100 閱讀 8392

用於組裝報文加密等操作。

/**

* * @author cgw

* @date 2016-05-04

* * @title httppost 傳輸檔案與報文 (主要用於每日身份證**上傳給民生銀行)

* @param requesturl 請求位址

* @param requestname 請求報文名(一般為certinfo)

* @param request 報文資訊

* @param requestfilename 請求檔名 (一般為cert)

* @param filepath 檔案路徑

* @param filename 檔名

* @param funcno 交易號

* @param type 型別

/** ----- file 轉 multipartfile start ---- by cgw --

fileitem fileitem = new diskfileitem(

"file", // 表單引數名

false, // 是否為表單格式

filename, // 檔名

52428800, // 超過50m存在磁碟上

file // 檔案

);// 將file內容寫入fileitem,使用org.apache.commons.io.ioutils

ioutils.copy(new fileinputstream(file), fileitem.getoutputstream());

// 建立multipartfile

multipartfile multipartfile = new commonsmultipartfile(fileitem);

inputstreambody inputstreambody2 = new inputstreambody(multipartfile.getinputstream(), multipartfile.getoriginalfilename());

----- file 轉 multipartfile end ---- by cgw --**/

這裡只寫一下接收檔案的部分

// 將輸入流is寫入檔案輸出流fos中

int ch = 0;

try

} catch (ioexception e1) finally

1、

之前httpclient直接設定了content-type為multipart/form-data。導致乙個出現乙個boundary的錯誤。

其實這裡不需要設定boundary,multipartentity(addpart())會根據我們add的內容為我們分別設定好content-type。 2、

返回413錯誤 :request entity too large

目測是對方apache伺服器配置問題導致我這邊沒有傳送完整個請求就收到413.

httpclient 傳送post請求

httpclient相比於jdk自帶的urlconnection更加靈活,用起來也比較方便,它使客戶端傳送http請求更加方便,提高了開發效率。使用httpclient傳送請求接受返回引數,其步驟大致如下 1 建立httpclient物件 建立預設的httpclient例項 2 建立請求方法的例項 ...

使用httpclient傳送get post請求

使用httpclient傳送get post請求是最常用的兩種web請求 示例 如下 1.get請求 建立的http連線,仍舊被response1保持著,允許我們從網路socket中獲取返回的資料 為了釋放資源,我們必須手動消耗掉response1或者取消連線 使用closeablehttpresp...

httpclient傳送不帶引數post資料

兩個問題 1 httpclient怎樣傳送乙個沒有不論什麼引數的post資料呢?2 webproject怎樣去接收乙個無引數的post呢?起因 今天 2014.11.10 在開發中碰到了乙個問題。介面提供方提供的介面是要求使用post方式傳送資料的。心想這不超簡單的乙個東西嗎?直接post過去不就是...