httpclient网页提交参数如何使用
2014-01-17
展开全部
// HttpPost连接对象
HttpPost httpRequset = new HttpPost("http://192.168.0.100:8080/demo/");
// 使用NameValuePair来保存要传递的Post参数
List<NameValuePair> params = new ArrayList<NameValuePair>();
// 添加要传递的参数
params.add(new BasicNameValuePair("name", "jack"));
try {
// 设置字符集
HttpEntity httpentity = new UrlEncodedFormEntity(params, "gb2312");
// 请求httpRequset
httpRequset.setEntity(httpentity);
// 取得HttpClient
HttpClient httpClient = new DefaultHttpClient();
// 取得HttpResponse
HttpResponse httpResponse = httpClient.execute(httpRequset);
if(httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
String strResult = EntityUtils.toString(httpResponse
.getEntity());
System.out.println(strResult);
}else {
System.out.println("请求错误");
}
}
catch(Exception e) {
e.printStackTrace();
}
展开全部
这就是HttpClient发送数据代码
1. 首先,发送的时候
HttpClient client = new HttpClient();
PostMethod method = new PostMethod(URL);//具体method里面还可以设置一下编码,header之类的
//1. 第一种方式,基于Content-Type=‘multipart/form-data’形式的表单
Part[] parts = ...;//FilePart和StringPart都可以放进去
method.setRequestEntity(new MultipartRequestEntity(parts, method.getParams()));
//2. 第二种方式,普通表单
NameValuePair[] pairs = ...;//纯参数了,键值对
method.addParameters(pairs);
client.executeMethod(method);
当然了,还可能有其他的一些形式,这里不过多的说明了,有API可以参考
2. 接收的时候
private void parseRequest(HttpServletRequest request) throws Exception {
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = upload.parseRequest(request);
for (int i = 0; i < items.size(); i++) {
FileItem item = (FileItem) items.get(i);
if (!item.isFormField()) {
//文件数据
} else {
//普通表单数据
}
}
} else {
Enumeration en = request.getParameterNames();
while (en.hasMoreElements()) {
String paramName = (String) en.nextElement();
String paramValue = request.getParameter(paramName);
}
}
}
如上便是我之前写的代码了,接收表单数据,没什么问题
1. 首先,发送的时候
HttpClient client = new HttpClient();
PostMethod method = new PostMethod(URL);//具体method里面还可以设置一下编码,header之类的
//1. 第一种方式,基于Content-Type=‘multipart/form-data’形式的表单
Part[] parts = ...;//FilePart和StringPart都可以放进去
method.setRequestEntity(new MultipartRequestEntity(parts, method.getParams()));
//2. 第二种方式,普通表单
NameValuePair[] pairs = ...;//纯参数了,键值对
method.addParameters(pairs);
client.executeMethod(method);
当然了,还可能有其他的一些形式,这里不过多的说明了,有API可以参考
2. 接收的时候
private void parseRequest(HttpServletRequest request) throws Exception {
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = upload.parseRequest(request);
for (int i = 0; i < items.size(); i++) {
FileItem item = (FileItem) items.get(i);
if (!item.isFormField()) {
//文件数据
} else {
//普通表单数据
}
}
} else {
Enumeration en = request.getParameterNames();
while (en.hasMoreElements()) {
String paramName = (String) en.nextElement();
String paramValue = request.getParameter(paramName);
}
}
}
如上便是我之前写的代码了,接收表单数据,没什么问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |