用java代码直接访问某个url时,页面有BASIC Authorization 时的处理方法

      情况描述:在项目中,经常需要在代码中直接访问某个url,当目标url有设置BASIC Authorization 时,代码需要加上用户名和密码方可进行访问,详细如下:

public static String post(String addr, String params) {
  String result = "";
  try {
   URL url = new URL(addr);
   URLConnection connection = url.openConnection();
   connection.setDoOutput(true);
   String auth="gallop:123456";
   String code = new sun.misc.BASE64Encoder().encode(auth.getBytes());
   connection.setRequestProperty("Authorization", "Basic " + code);
   PrintWriter out = new PrintWriter(connection.getOutputStream());
   out.write(params);
   out.close();
   BufferedReader in;
   try {
    in = new BufferedReader(new InputStreamReader(connection
      .getInputStream()));
   } catch (FileNotFoundException exception) {
    java.io.InputStream err = ((HttpURLConnection) connection)
      .getErrorStream();
    if (err == null)
     throw exception;
    in = new BufferedReader(new InputStreamReader(err));
   }
   StringBuffer response = new StringBuffer();
   String line;
   while ((line = in.readLine()) != null)
    response.append(line + "\n");
   in.close();
   
   result = response.toString();
  } catch (MalformedURLException e) {
   System.err.println(e.toString());
  } catch (IOException e) {
   System.err.println(e.toString());
  }
  return result;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值