HttpClient 使用get方式发送数据到服务器并下载服务器文件

来源:互联网 发布:宁夏网络教育 编辑:程序博客网 时间:2024/06/06 01:14
助手类

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)
     
      }
}

0 0
原创粉丝点击