package com.joyveb.state.utils;
import java.io.File;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.FileEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* HTTP CLIENT 工具类
*
* @author machijie
*
*/
public class HTTPClientUtil {
private static Logger log = LoggerFactory.getLogger(HTTPClientUtil.class);
/**
* 上传文件
*
* @param url
* http地址
* @param fileName
* 文件路径名称
* @throws Exception
*/
public static void postFile(String url, String fileName) throws Exception {
log.info("Ready Post File:[{}] Url:[{}]", fileName, url);
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
File file = new File(fileName);
if (file.exists() == false) {
throw new Exception("File:[" + fileName + "]存在");
}
FileEntity fileEntity = new FileEntity(new File(fileName), "UTF-8");
httppost.addHeader("Content-Type", "text/xml");
httppost.setEntity(fileEntity);
try {
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
log.info("Post File:[{}] Url:[{}] Return StatusCode:[{}]",
new String[] { fileName, url,
response.getStatusLine().toString() });
if (entity != null) {
log.info("Response content length: "
+ entity.getContentLength());
}
EntityUtils.consume(entity);
} catch (Exception e) {
log.error("Post File:[" + fileName + "] Url:[" + url + "]", e);
} finally {
httpclient.getConnectionManager().shutdown();
}
}
public static void main(String[] args) throws Exception {
HTTPClientUtil
.postFile(
"http://192.168.3.205:8080/genlotmediator/tjaccepter?gameid=4&periodnum=123456",
"d:/test1.txt");
}
}
HTTP发送文件 工具类
最新推荐文章于 2024-08-15 22:28:28 发布