你的位置:首页 > Java教程

[Java教程]Http编程(二)使用Apache 的API实现


要下载jar包

import java.io.FileOutputStream;import java.io.IOException;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.util.EntityUtils;/* * 模拟下载 * 使用到的类: * 1.HttpClient: * 2.HttpResponse * 3.HttpEntity * 4.EntityUtils * */public class HttpDemo1 { public static void main(String[] args) throws IOException { // HttpClient:创建了客户端。 HttpClient client = new DefaultHttpClient(); // 请求 get:HttpGet String path = "http://www.baidu.com/img/bdlogo.gif"; HttpGet get = new HttpGet(path); // 让客户端执行请求。 HttpResponse response = client.execute(get); // 数据全部在HttpResponse // 1:响应码。 int code = response.getStatusLine().getStatusCode(); if(code == 200){ // 取出返回的数据。 数据封装到HttpEntity对象。 HttpEntity entity = response.getEntity(); // 如何获得HttpEntity对象中的数据。 byte[] b = EntityUtils.toByteArray(entity); FileOutputStream fos = new FileOutputStream("e:\\bb.gif"); fos.write(b); fos.flush(); fos.close(); } }}



import java.io.File;import java.io.IOException;import java.nio.charset.Charset;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;

/*
* 使用的类:
* HttpClient
* HttpPost
* FileBody
* FormBodyPart
* MultipartEntity
* HttpResponse
* EntityUtils
*
*/

public class HttpDemo5 {    public static void main(String[] args) throws ClientProtocolException, IOException {    //1:创建HttpClient 对象(创建客户端)    HttpClient client = new DefaultHttpClient();        //2:创建请求方式(web中的请求方式method)    String uri = "http://localhost:8080/FileUpload/FileUploadServlet";    HttpPost post = new HttpPost(uri);        //3:包装要发送的数据(文件)    //3.1:获取本地的文件    File file = new File("e:\\aa.jpg");    //3.2:创建FileBody对象(文件主体)    FileBody fileBody = new FileBody(file);    //3.3:创建FormBodyPart 对象(表单主体部分)    FormBodyPart part = new FormBodyPart("form", fileBody);        //4:创建MultipartEntity对象。MultipartEntity:多部件实体    MultipartEntity entity = new MultipartEntity();    //5:把表单主体部分添加到多部件实体中(将文件类型的数据添加到entity中)    entity.addPart(part);    //5:将普通文本数据添加到多部件实体中    entity.addPart("username", new StringBody("哈哈", "text/html", Charset.forName("utf-8")));    entity.addPart("password", new StringBody("123"));        //6:设置请求的实体    post.setEntity(entity);    //7:让客户端执行请求(带有数据的请求),得到的是HttpResponse对象(响应对象)    HttpResponse response = client.execute(post);        //8:通过响应对象获取响应码    int code = response.getStatusLine().getStatusCode();    //9:如果响应码为200(成功响应码),则获取服务器返回的数据    if(code == 200){      //9.1:获取HttpEntity对象(通过响应来获取)      HttpEntity entity2 = response.getEntity();      //10:使用EntityUtils工具类,将获取到的数据(实体)转换为字节数组形式,任何文件都可以以字节的形式保存      byte[] b = EntityUtils.toByteArray(entity2);      //输出内容      System.out.println(new String(b, "utf-8"));    }      }}

 

 

 




日本特价旅游多少钱到日本游费用报价大全日本自助游攻略2015怎样去日本旅游去日本哪个旅行社好山西王莽岭自驾游路线?王莽岭旅游攻略? 五一沙湾美食街有什么活动?番禺沙湾美食攻略? 无锡慕湾拓展基地介绍?无锡慕湾拓展训练有什么项目? 宝趣玫瑰世界5月活动有哪些?从化宝趣玫瑰世界最新活动? 香港迪士尼涨价的票价是多少?涨价的原因是什么? 去香港旅游刷银行卡方便吗? 如果在澳门乱扔垃圾没交罚款 ?会影响以后的入境吗? 内地香港一卡两号好用吗?怎么收费的? 马尔代夫机场有什么限制? 马尔代夫岛上的餐厅有哪几种? 去马尔代夫旅游要不要考虑手机充电的问题? 泰国网吧多吗?怎么收费的? 3月深圳有什么好玩地方?2015深圳欢乐谷好玩活动介绍? 2015放鸡岛三八妇女节女士免费吗?茂名放鸡岛3.8女士门票优惠价格? 寻找醉美“花花世界”2015徐州赏花地图出炉 2015茂名浪漫海岸三八妇女节女士免费吗?电白茂名浪漫海岸3.8女士优惠价格? 04023J2R2BBWTR Datasheet 04023J2R2BBWTR Datasheet TAJB226K006RNJ Datasheet TAJB226K006RNJ Datasheet 08051C104KAZ2A Datasheet 08051C104KAZ2A Datasheet 柬埔寨是哪个国家 柬埔寨是哪个国家 柬埔寨是哪个国家 福建康辉旅行社 福建康辉旅行社 福建康辉旅行社 游客须知 游客须知 游客须知