HttpClient PostMethod提交自定義引數
阿新 • • 發佈:2019-01-02
用PostMethod 模擬http post請求,需要解決傳遞字串,檔案等需求。
httpclient對此,提供了對應實現,實現方法關鍵在:RequestEntity。
示例:
RequestEntity requestEntity = newStringRequestEntity(text);
post.setRequestEntity(requestEntity);
示例中,是傳遞一個普通字元型引數。
這個方法代替了以前直接設定Request body。
RequestEntity是一個介面,有很多實現:
ByteArrayRequestEntity, FileRequestEntity, InputStreamRequestEntity, MultipartRequestEntity, StringRequestEntity
基本上從名字上就可以直接看出功能,可以從字串,流,檔案,位元組陣列中產生request body。
還有更復雜的Multipart,就是夾雜檔案和普通欄位的提交。
示例如下:
Part[] parts = {new StringPart("source", "695132533"), new StringPart("status", URLEncoder.encode(status, "utf-8")), filePart};
postMethod.setRequestEntity(new MultipartRequestEntity(parts, postMethod.getParams()));
httpclient對此,提供了對應實現,實現方法關鍵在:RequestEntity。
示例:
RequestEntity requestEntity = newStringRequestEntity(text);
post.setRequestEntity(requestEntity);
示例中,是傳遞一個普通字元型引數。
這個方法代替了以前直接設定Request body。
RequestEntity是一個介面,有很多實現:
ByteArrayRequestEntity, FileRequestEntity, InputStreamRequestEntity, MultipartRequestEntity, StringRequestEntity
基本上從名字上就可以直接看出功能,可以從字串,流,檔案,位元組陣列中產生request body。
還有更復雜的Multipart,就是夾雜檔案和普通欄位的提交。
示例如下:
Part[] parts
postMethod.setRequestEntity(new MultipartRequestEntity(parts, postMethod.getParams()));