java模仿http表单提交数据、模仿http表单上传文件示例
package com.snca.cloudsign.main;
import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import org.apache.http.Consts;
import org.apache.http.HttpEntity;
import org.apache.http.ParseException;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class CloudSignRestUtil {
/**
* 正常数据请求
* @param url
* @param data
* @return
*/
public static String commDataRequest(String url,String data)throws ClientProtocolException,ParseException,IOException{
HttpPost httpPost = new HttpPost(url);
CloseableHttpClient httpClient = null;
CloseableHttpResponse response = null;
httpClient = HttpClients.createDefault();
HttpEntity entity = new StringEntity(data,Consts.UTF_8);
httpPost.setEntity(entity);
httpPost.addHeader("Content-Type", "application/json");
httpPost.setEntity(entity);
try {
response = httpClient.execute(httpPost);
return EntityUtils.toString(response.getEntity(),Charset.forName("UTF-8"));
}finally {
if(response != null){
response.close();
}
if(httpClient != null){
httpClient.close();
}
}
}
/**
* 带文件的数据接口请求
* @param url
* @param data
* @return
*/
public static String fileDataRequest(String url,String data,File pdfFile)throws ClientProtocolException,ParseException,IOException{
CloseableHttpClient httpClient = null;
CloseableHttpResponse response = null;
try{
httpClient = HttpClients.createDefault();
StringBody requestData = new StringBody(data, ContentType.create(
"text/plain", Consts.UTF_8));
FileBody bin = new FileBody(pdfFile);
HttpEntity entity = MultipartEntityBuilder.create()
.addPart("pdfFile", bin)
.addPart("requestData", requestData)
.build();
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(entity);
// 发起请求 并返回请求的响应
response = httpClient.execute(httpPost);
// 获取响应对象
HttpEntity resEntity = response.getEntity();
String responseStr = EntityUtils.toString(response.getEntity(),Charset.forName("UTF-8"));
// 销毁
EntityUtils.consume(resEntity);
return responseStr;
}finally {
if(response != null){
response.close();
}
if(httpClient != null){
httpClient.close();
}
}
}
}
资源文件列表
cloudsign_api_client/.classpath , 867
cloudsign_api_client/.project , 396
cloudsign_api_client/.settings/org.eclipse.core.resources.prefs , 93
cloudsign_api_client/.settings/org.eclipse.jdt.core.prefs , 598
cloudsign_api_client/bin/com/snca/cloudsign/client/SM3.class , 5783
cloudsign_api_client/bin/com/snca/cloudsign/client/SM3Digest.class , 3396
cloudsign_api_client/bin/com/snca/cloudsign/main/CloudSignRestUtil.class , 3915
cloudsign_api_client/bin/com/snca/cloudsign/main/MainTest.class , 210955
cloudsign_api_client/bin/lib/TZKey.jar , 23308
cloudsign_api_client/bin/lib/castor-1.2.jar , 864598
cloudsign_api_client/bin/lib/commons-io-2.4.jar , 185140
cloudsign_api_client/bin/lib/commons-logging-1.1.3.jar , 62050
cloudsign_api_client/bin/lib/httpclient-4.5.3.jar , 747794
cloudsign_api_client/bin/lib/httpcore-4.4.7.jar , 325123
cloudsign_api_client/bin/lib/httpmime-4.5.3.jar , 41029
cloudsign_api_client/src/com/snca/cloudsign/client/SM3.java , 10360
cloudsign_api_client/src/com/snca/cloudsign/client/SM3Digest.java , 4272
cloudsign_api_client/src/com/snca/cloudsign/main/CloudSignRestUtil.java , 3163
cloudsign_api_client/src/com/snca/cloudsign/main/MainTest.java , 210962
cloudsign_api_client/src/lib/TZKey.jar , 23308
cloudsign_api_client/src/lib/castor-1.2.jar , 864598
cloudsign_api_client/src/lib/commons-io-2.4.jar , 185140
cloudsign_api_client/src/lib/commons-logging-1.1.3.jar , 62050
cloudsign_api_client/src/lib/httpclient-4.5.3.jar , 747794
cloudsign_api_client/src/lib/httpcore-4.4.7.jar , 325123
cloudsign_api_client/src/lib/httpmime-4.5.3.jar , 41029
