import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.ParseException;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import com.hsun.HLog;
public class HttpPostGetRequest {
public static String post(String url, Map<String, String> params) {
DefaultHttpClient httpclient = new DefaultHttpClient();
String body = null;
HLog.m_messagelog.debug("create httppost:" + url);
HttpPost post = postForm(url, params);
body = invoke(httpclient, post);
httpclient.getConnectionManager().shutdown();
return body;
}
public static String get(String url) {
DefaultHttpClient httpclient = new DefaultHttpClient();
String body = null;
HLog.m_messagelog.debug("create httppost:" + url);
HttpGet get = new HttpGet(url);
body = invoke(httpclient, get);
httpclient.getConnectionManager().shutdown();
return body;
}
private static String invoke(DefaultHttpClient httpclient,
HttpUriRequest httpost) {
HttpResponse response = sendRequest(httpclient, httpost);
String body = paseResponse(response);
return body;
}
private static String paseResponse(HttpResponse response) {
HLog.m_messagelog.debug("get response from http server..");
HttpEntity entity = response.getEntity();
HLog.m_messagelog.debug("response status: " + response.getStatusLine());
String charset = EntityUtils.getContentCharSet(entity);
HLog.m_messagelog.debug(charset);
String body = null;
try {
body = EntityUtils.toString(entity, HTTP.UTF_8);
HLog.m_messagelog.debug(body);
} catch (ParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return body;
}
private static HttpResponse sendRequest(DefaultHttpClient httpclient,
HttpUriRequest httpost) {
HLog.m_messagelog.debug("execute post...");
HttpResponse response = null;
try {
response = httpclient.execute(httpost);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return response;
}
private static HttpPost postForm(String url, Map<String, String> params){
HttpPost httpost = new HttpPost(url);
List<NameValuePair> nvps = new ArrayList <NameValuePair>();
Set<String> keySet = params.keySet();
for(String key : keySet) {
nvps.add(new BasicNameValuePair(key, params.get(key)));
}
try {
HLog.m_messagelog.debug("set utf-8 form entity to httppost");
httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return httpost;
}
}
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItemIterator;
import org.apache.commons.fileupload.FileItemStream;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.httpclient.HttpStatus;
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.mime.MultipartEntity;
import org.apache.http.entity.mime.content.InputStreamBody;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import com.hsun.HLog;
public class FileUpLoad {
public static void fileUpLoad(HttpServletRequest request,
HttpServletResponse response,String url) throws Exception{
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String loginName = request.getParameter("loginName");
String kind = request.getParameter("kind");
String terminalNo=request.getParameter("terminalNo");
String dateTime=request.getParameter("dateTime");
String trace_no = request.getParameter("trace_no");
String sncode = request.getParameter("SN");
String merchant_no = request.getParameter("merchantNo");
String record_no = request.getParameter("recordNo");
String batch_no = request.getParameter("batchNo");
String data = "loginName="+loginName+"&kind="+kind+"&terminalNo="+terminalNo+"&dateTime="+dateTime+"&trace_no="+trace_no
+"&SN="+sncode+"&merchantNo="+merchant_no+"&recordNo="+record_no+"&batchNo="+batch_no;
if (ServletFileUpload.isMultipartContent(request)) {
DiskFileItemFactory dff = new DiskFileItemFactory();
ServletFileUpload sfu = new ServletFileUpload(dff);
sfu.setFileSizeMax(100000000L);
sfu.setSizeMax(300000000L);
sfu.setHeaderEncoding("utf-8");
FileItemIterator fii = sfu.getItemIterator(request);
while (fii.hasNext()) {
FileItemStream fis = fii.next();
if ((!fis.isFormField()) && (fis.getName().length() > 0)) {
int index = fis.getName().lastIndexOf("\\");
String fileName = fis.getName().substring(index+1);
HLog.m_messagelog.debug("fis.getName():"+fis.getName()+" fis.getFieldName():"+fis.getFieldName());
InputStreamBody fileBody = new InputStreamBody(fis.openStream(),fileName);
HttpClient httpclient = new DefaultHttpClient();
HttpPost post = new HttpPost(url+data);
MultipartEntity entity = new MultipartEntity();
entity.addPart("image",fileBody);
post.setEntity(entity);
HttpResponse res = httpclient.execute(post);
if(HttpStatus.SC_OK==res.getStatusLine().getStatusCode()){
HttpEntity entitys = res.getEntity();
if (entity != null) {
//System.out.println("entity.getContentLength():"+entity.getContentLength());
response.getWriter().print(EntityUtils.toString(entitys,HTTP.UTF_8));
}
}
httpclient.getConnectionManager().shutdown();
}
}
// FileItemStream fis = fii.next();
// HLog.m_messagelog.debug("fis.getName():"+fis.getName()+" fis.getFieldName():"+fis.getFieldName());
// int index = fis.getName().lastIndexOf("\\");
// String fileName = fis.getName().substring(index+1);
// InputStreamBody fileBody = new InputStreamBody(fis.openStream(),fileName);
// HttpClient httpclient = new DefaultHttpClient();
// HttpPost post = new HttpPost(url+data);
// MultipartEntity entity = new MultipartEntity();
// entity.addPart("image",fileBody);
// post.setEntity(entity);
// HttpResponse res = httpclient.execute(post);
// if(HttpStatus.SC_OK==res.getStatusLine().getStatusCode()){
// HttpEntity entitys = res.getEntity();
// if (entity != null) {
// //System.out.println("entity.getContentLength():"+entity.getContentLength());
// response.getWriter().print(EntityUtils.toString(entitys,HTTP.UTF_8));
// }
// }
// httpclient.getConnectionManager().shutdown();
}
}
}
分享到:
相关推荐
java实现get请求post请求,文件传输 /** * 发送https请求 * @param requestUrl 请求地址 * @param requestMethod 请求方式(GET、POST) * @param outputStr 提交的数据 * @return 返回微信服务器响应的信息 ...
Post,Get请求测试工具,文档中有详细的使用说明!
HttpClient Post提交多文件及多个普通参数,已经封装成工具类。 需传入 要请求的url 普通参数map 例 map.put("param1","张三"); 需要传入的文件流map 其中key为文件名 服务端接收无乱码。
适用于javapost 文件流提交和接收数据
快捷使用Retrofit网络请求框架(get请求,post请求,上传文件)
winform GET请求和POST请求! 很值得下载看看!资源免费,大家分享!!
用HTML页面模拟测试get/post请求,psot请求参数的格式为json串
http协议是互联网上应用最为广泛的一种网络协议,他在接口中扮演着重要的角色,Post/Get请求,想必大家都有所耳闻,我们一起利用Boost::Asio库来实现Post/Get请求的发送。 VS2013 文章地址:...
一般的防请求的都能跳过 静态类调用........
java调用HTTP接口(Get请求和Post请求)
Api接口调用封装,实现POSt,GET等数据请求,Api接口调用封装,实现POSt,GET等数据请求,Api接口调用封装,实现POSt,GET等数据请求,Api接口调用封装,实现POSt,GET等数据请求,Api接口调用封装,实现POSt,GET等数据请求,...
C#-HTTP请求接收(Post数据流,GET,表单)
这个是关于android的OkHttp3框架的代码实例,里面包括POST和GET请求,请大家多多指教。
主要用户调试接口,支持POST/GET两种请求方式,现在网上已经有很多的在线请求工具,但是由于部分电脑的浏览器版本过低打开后就报错,导致不能获取数据,此工具也是为了解决这里用户的需求开发。开发环境为Visual ...
开发通用工具 加密解密 post get请求等等开发通用工具 加密解密 post get请求等等
C++实现HTTP的GET,POST请求及HTTPS的请求
C# 使用Get和Post请求获取数据,Get Post 请求, POST传值
VC++ HTTP Get Post请求
HttpClient实现POST GET和文件下载 HttpClient实现POST GET和文件下载