通过 URL类获取带密码验证资源文件的处理方法

 

package com.test;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Date;

public class Test{

 /**
  * @param args
  */
 public static void main(String[] args) {

  String imageurl="http://www.baidu.com/img/logo-yy.gif";
  URL url;
  
  String theUsername="test";
  String thePassword="test";
  
  try {
   url = new URL (imageurl);
   
   String userPassword = theUsername + ":" + thePassword;
   String encoding = new sun.misc.BASE64Encoder().encode (userPassword.getBytes());
   
   //实际上URL的openConnection的返回值就是一个URLConnection
      URLConnection c;
   try {
    c = url.openConnection();
    c.setRequestProperty ("Authorization", "Basic " + encoding);
    
       //用URLConnection的connect()方法建立连接
       c.connect();                            //*
       // 显示该连接的相关信息,这些都是URLConnection的方法
       System.out.println("内容类型: "+c.getContentType());
       System.out.println("内容长度: "+c.getContentLength());
       System.out.println("创建日期: "+new Date(c.getDate()));
       System.out.println("最后修改日期: "+new Date(c.getLastModified()));
       System.out.println("终止日期: "+new Date(c.getExpiration()));
      
       InputStream in=c.getInputStream();
      
    String pathName = saveTempFile(in,"test.jpg");
    System.out.println(pathName);
    
    
   } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   } //*
  
   
   
   
   
  } catch (MalformedURLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

 

  

 }
 
 private static String saveTempFile(InputStream inputStream,String fllename) {
  String pathName = getTempFileName(fllename);  
  File tmpFile = new File(pathName);
  OutputStream out = null;
  try {
   out = new BufferedOutputStream(new FileOutputStream(tmpFile));

   int length = 1024 * 1024;

   byte[] buffer = new byte[length];

   while ((length = inputStream.read(buffer)) > 0) {
    out.write(buffer, 0, length);
   }
  } catch (Exception e) {
   e.printStackTrace();
   //Global.logger.error("save temp file exception!");
  } finally {
   ResourceMgr.closeQuietly(out);
  }
  return pathName;
 }
 
 private static String getTempFileName(String filename) {
  //return System.getProperty("user.dir")+ File.separator+System.currentTimeMillis() + ".gif";
  return System.getProperty("user.dir")+ File.separator + filename;
 }

}

 

 

 

 

注意 关键:

 

   String userPassword = theUsername + ":" + thePassword;
   String encoding = new sun.misc.BASE64Encoder().encode (userPassword.getBytes());

 

    c.setRequestProperty ("Authorization", "Basic " + encoding);

时间: 2024-11-16 09:15:18

通过 URL类获取带密码验证资源文件的处理方法的相关文章

Win7系统下如何创建带密码隐藏的文件夹保护个人隐私文件

  1.首先创建一个文件夹,并命名为"隐藏文件"; 2.然后打开该文件夹,然后在窗口空白处右击鼠标选择"新建→ 文本文档"命令创建一个文本文件; 3.将以下代码复制到刚才新建的文本文件中: cls @ECHO OFF title Folder Private if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK if NOT EXIST Privat

ajax读取properties资源文件数据的方法_AJAX相关

本文实例讲述了ajax读取properties资源文件数据的方法.分享给大家供大家参考.具体实现方法如下: properties资源文件的内容如下: hello=englishww name=english zk emailEmpty=Field cannot be empty! emailInvalid=Invalid email address! js调用ajax处理代码: $.ajax({ type:'POST', dataType:'json', url:'/jeecms/jeecms/

ajax读取properties资源文件数据的方法

本文实例讲述了ajax读取properties资源文件数据的方法.分享给大家供大家参考.具体实现方法如下: properties资源文件的内容如下: hello=englishww name=english zk emailEmpty=Field cannot be empty! emailInvalid=Invalid email address! js调用ajax处理代码: $.ajax({ type:'POST', dataType:'json', url:'/jeecms/jeecms/

过滤Android工程中多余资源文件的解决方法_Android

本文以实例讲述了过滤Android工程中多余资源文件的解决方法,很有实用价值!具体描述如下: 很多开发人员在Android项目开发过程中经常会遇到这样的情况:界面开发人员发布了一个新版本的资源包,不过有的图片名称改了,有的图片删掉了,可是在实现的时候开发人员只是把新的资源覆盖到原来的资源文件夹中,随着版本的发布,在drawable或values中积累的无用资源越来越多,直到最后发布正式版的时候再想要删除这些多余的文件,于是不得不一个一个文件检查看是否有用,再决定要不要删除之. 有鉴于此,很有必要

过滤Android工程中多余资源文件的解决方法

本文以实例讲述了过滤Android工程中多余资源文件的解决方法,很有实用价值!具体描述如下: 很多开发人员在Android项目开发过程中经常会遇到这样的情况:界面开发人员发布了一个新版本的资源包,不过有的图片名称改了,有的图片删掉了,可是在实现的时候开发人员只是把新的资源覆盖到原来的资源文件夹中,随着版本的发布,在drawable或values中积累的无用资源越来越多,直到最后发布正式版的时候再想要删除这些多余的文件,于是不得不一个一个文件检查看是否有用,再决定要不要删除之. 有鉴于此,很有必要

实现网页密码验证的两个基本方法

   我们在访问一些网站时,经常会碰到需要输入"用户名和密码"的网页,用户名和密码的验证给网站的安全带来保障,一般网页的安全设置以目录为单位,通过设置目录的属性可以保证网站的安全,这样的网页是如何制作出来的呢? 下面笔者将介绍在网页设计中密码验证的两种方法,希望能给网页设计者有所帮助. 一.使用IIS所提供的工具 如果设计者是管理员级的用户,我们可以用一种简单的方法来实现密码验证.假设你安装的Web服务器是IIS,我们可以通过IIS所提供的"Internet服务管理员&quo

基于将Android工程做成jar包和资源文件的解决方法_Android

需要特别注意的是,以jar包和资源包方式提供给第三方开发者,我们的工程的代码中就不能使用类似于R.layout.main.R.string.name等等这样的方式来引用资源了. 为此,我们就不能直接使用R文件,而是要通过字段名称来动态的获取资源的id,再来使用. 以下封装了一个类,可以通过字段名称动态获取id. 复制代码 代码如下: package com.arui.util;  import android.content.Context;  public class ResourceUtil

基于将Android工程做成jar包和资源文件的解决方法

需要特别注意的是,以jar包和资源包方式提供给第三方开发者,我们的工程的代码中就不能使用类似于R.layout.main.R.string.name等等这样的方式来引用资源了. 为此,我们就不能直接使用R文件,而是要通过字段名称来动态的获取资源的id,再来使用. 以下封装了一个类,可以通过字段名称动态获取id.复制代码 代码如下:package com.arui.util; import android.content.Context; public class ResourceUtil { p

在Win7系统下验证localhost文件状态的方法

在win7系统里,实际上我们是能够经过记事本的措施给打开host文件,它是个无扩展名的文件,是可以将win7系统用户时常使用的部分网址域名与它相应ip地址建立为一个"数据库".部分病毒软件正式的利用host文件的这样的特征,把我们host里边的域名都指向错误的ip,那样在键入某一个网址时,就能够进到他们的网站. 操作步骤: 1.首先按下"WIN+R"的组合键进到"运行"的窗口,接着要给键入"CMD"的命令,并且要给按下确定键打