HttpHttpApache两种上传方法

第一种:
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
/**
 * 用httpClient来模拟登录。
 */
public class HttpPostDemo {
public static void main(String[] args) {
String path="http://192.168.10.88:8080/MyServer/login";
HttpClient client=new DefaultHttpClient();
HttpPost post = new HttpPost(path);
//将数据封装到post对象里。
//创建一个存储封装键值对对象的集合
List<NameValuePair> parameters=new ArrayList<NameValuePair>();
//将数据封装到NameValuePair对象里,第一个参数为键,第二个参数为值
NameValuePair value1 = new BasicNameValuePair("username", "admin");
NameValuePair value2=new BasicNameValuePair("userpwd", "111");
//将对象添加到集合中。
parameters.add(value1);
parameters.add(value2);
HttpEntity entity = null;
try {
//将数据集合封装成HttpEntity
entity = new UrlEncodedFormEntity(parameters);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//设置HttpEntity
post.setEntity(entity);
//让客户端执行请求。
try {
HttpResponse response=client.execute(post);
int code=response.getStatusLine().getStatusCode();
if(code==200){
HttpEntity entity2=response.getEntity();
String str=EntityUtils.toString(entity2);
System.out.println(str);
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
第二种:
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.FormBodyPart;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
public class HttpUpload {
public static void main(String[] args) {
HttpClient client = new DefaultHttpClient();
String path="http://localhost:8080/FileUpload/FileUploadServlet";
HttpPost post = new HttpPost(path);
//这里需要上传数据,所以需要改变表单form的enctyped属性值,改为mul/data-form
MultipartEntity entity=new MultipartEntity();
//封装文件
FileBody body=new FileBody(new File("e:\\login.jpeg"));
FormBodyPart pary=new FormBodyPart("form1", body);
//将封装文件的对象添加到MultipartEntity
entity.addPart(pary);
//添加其他的数据
try {
entity.addPart("username",new StringBody ("admin"));
entity.addPart("passwoed",new StringBody("123"));
//设置给HttpPost对象
post.setEntity(entity);
//执行请求
HttpResponse response=client.execute(post);
//得到响应码
int  code=response.getStatusLine().getStatusCode();
if(code==200){
HttpEntity entity2=response.getEntity();
//EntityUtils.toByteArray(entity); 
String str= EntityUtils.toString(entity2);
System.out.println(str);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

转载于:https://my.oschina.net/u/2541146/blog/596516

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值