博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HttpClient 使用get方式发送数据到服务器并下载服务器文件
阅读量:3559 次
发布时间:2019-05-20

本文共 2075 字,大约阅读时间需要 6 分钟。

助手类
public 
class 
HttpClientGetUtil {
      
       
/***
       * 模拟表单提交数据
       * */
       
public 
static 
String  loginGet(String url){
      HttpClient client = 
new 
DefaultHttpClient(); 
//客户端对象
      HttpGet get  = 
new 
HttpGet(url);             
//请求对象
       
try 
{
            HttpResponse httpResponse = client.execute(get); 
//连接服务器
             
if
(httpResponse.getStatusLine().getStatusCode()==200){
 
//当请求服务的返回值为200就说明请求成功了
          HttpEntity entity= httpResponse.getEntity();   
           
return 
EntityUtils.toString(entity, 
"GBK"
);
            }
        
      } 
catch 
(ClientProtocolException e) {
             
// 
TODO 
Auto-generated catch block
            e.printStackTrace();
      } 
catch 
(IOException e) {
             
// 
TODO 
Auto-generated catch block
            e.printStackTrace();
      }
       
return 
"" 
;
      }
       
/***
       * 下载文件
       * */
       
public 
static 
void 
downFile(String urlStr,String target){
            HttpClient client = 
new 
DefaultHttpClient();
            HttpGet get = 
new 
HttpGet(urlStr);
            FileOutputStream fos= 
null
;
             
try 
{
                  HttpResponse response=client.execute(get);
                   
if
(response.getStatusLine().getStatusCode()==200){
                        HttpEntity entity = response.getEntity();
                         fos = 
new 
FileOutputStream(target);
                         fos.write(EntityUtils. toByteArray(entity));        
//写入到磁盘
                         System. 
out
.println(
"sucess!" 
);
                         
/*
                         InputStream  is = entity.getContent();
                         byte [] b = new byte[1024*800];
                         int tem =0;
                         while(( tem=is.read())!=-1){
                               fos.write(b, 0, tem);
                         }
                         */ 
 
                  }
                  fos.flush();
                  fos.close();
            } 
catch 
(ClientProtocolException e) {
                   
// 
TODO 
Auto-generated catch block
                  e.printStackTrace();
            } 
catch 
(IOException e) {
                   
// 
TODO 
Auto-generated catch block
                  e.printStackTrace();
            }
            
      }
}
测试类
public 
class 
HttpClientGetTest {
       
public 
static 
void 
main(String[] args) {
             
// 
TODO 
Auto-generated method stub
//       String url ="http://localhost:8080/mp3/servlet/HttpClientServlet";
//       Scanner s = new Scanner(System.in);
//       System.out.println("请输入用户名");
//       String name = s.next();
//       System.out.println("请输入密码");
//       String password = s.next();
//       String urlstr=url +"?"+"username="+name+"&password="+password;
//       System.out.println( urlstr);
//       String msg= HttpClientGetUtil.loginGet(urlstr);
//       System.out.println( msg);
       String str1 = 
"http://localhost:8080/mp3/aixi.jpg" 
;
       String target= 
"d:\\aixi.jpg"
;
       HttpClientGetUtil. downFile(str1, target)
     
      }
}

转载地址:http://fbcrj.baihongyu.com/

你可能感兴趣的文章
Java基础入门 StringBuffer类
查看>>
Java基础入门 currentTimeMillis方法
查看>>
Java基础入门 arraycopy方法
查看>>
Java基础入门 Math类
查看>>
Java基础入门 Random类
查看>>
Java基础入门 Date类
查看>>
Java基础入门 Calendar类
查看>>
Java基础入门 DateFormat类
查看>>
Java基础入门 Window类及Panel类
查看>>
Java基础入门 AWT事件处理
查看>>
Java基础入门 鼠标事件
查看>>
Java基础入门 键盘事件
查看>>
Java基础入门 GridLayout
查看>>
JavaEE Bean的两种常用作用域 singleton(单例)和prototype(原型)
查看>>
MySQL 数据库索引
查看>>
JavaEE Spring与MyBatis的整合之传统DAO方式整合(教材学习笔记)
查看>>
JavaEE MyBatis与Spring的整合——基于mapper接口方式开发(教材学习笔记)
查看>>
JavaWeb 使用Cookie实现——显示用户上次访问时间(教材学习笔记)
查看>>
Omap138开发板下以uboot2012.04.01为例分析uboot执行(五)
查看>>
Omap138开发板下以uboot2012.04.01为例分析uboot执行(六)
查看>>