http authorization basic请求代码示例
2016-04-12 23:30
651 查看
/** * */ package testJava.java; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.Base64; /** * @author xxx * @function * @date 2016年4月12日 * @version */ public class Zuzuche { public static String appPost(Object jsonBean, String reqUrl,String method) throws Exception{ //发送数据 HttpURLConnection conn; try { URL url = new URL(reqUrl); conn = (HttpURLConnection) url.openConnection(); conn.setDoOutput(true); conn.setDoInput(true); conn.setUseCaches(false); conn.setInstanceFollowRedirects(false);//是否自动处理重定向 conn.setRequestMethod(method); // conn.setRequestProperty("User-Agent", "xxxEs_console"); // conn.setRequestProperty("Content-Type","application/x-gzip"); conn.setRequestProperty("Host", "xxx.yyy.com"); conn.setRequestProperty("Connection", "keep-alive"); //base64编码的"user:passwd"字符串。如果没有,或者用户密码不对,则返回http code 401页面给客户端 //Authorization: "Basic 用户名和密码的base64加密字符串",注意用户名和密码中间的冒号. conn.setRequestProperty("Authorization", "Basic xfdfsfwUxMTc1LWhQQCZ9fjpjfdsfsfesOw=="); conn.connect(); //接收返回数据 InputStream in = conn.getInputStream(); // GZIPInputStream gzin = new GZIPInputStream(in); // BufferedReader reader = new BufferedReader(new InputStreamReader(gzin,"UTF-8")); BufferedReader reader = new BufferedReader(new InputStreamReader(in,"UTF-8")); String line; StringBuffer sb=new StringBuffer(); while ((line = reader.readLine()) != null) { sb.append(line); } reader.close(); conn.disconnect(); return sb.toString(); } catch (Exception e) { throw e; } } public static void main(String[] args) { //base64加密 byte[] auth = Base64.getEncoder().encode("用户名:密码".getBytes()); String sauth = new String(auth); System.out.println("sauth="+sauth); //或者: 用户名:密码@url.com方式请求,在火狐浏览器上面. String url = "http://xxx.yyy.com/2.0/standard/queryStatistic.php?beginDate=2016-04-01&endDate=2016-04-02"; try { System.out.println("url="+ url); String result = appPost(null, url, "GET"); System.err.println("接口调用返回结果:" + result); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
相关文章推荐
- 用 Redis 轻松实现秒杀系统---双十一和12306的瞬时网络爆发访问
- http://kanglecjr.iteye.com/blog/1071199
- http://www.cnblogs.com/dolphin0520/p/3949310.html
- Linux网络编程socket选项之SO_LINGER,SO_REUSEADDR
- Java Socket之网络相关API
- [深入浅出Cocoa]iOS网络编程之NSStream
- iOS网络编程之CFNetwork
- 用 TCP 协议写一个客户端和一个服务端,实现上传文件
- 用 TCP 协议写一个客户端和一个服务端,实现上传文件
- 理解 Linux 网络栈(1):Linux 网络协议栈简单总结
- 20159311《网络攻击与防范》第六周学习总结
- HttpContext及HttpContext.current
- https请求
- TCP协议中的SO_LINGER选项
- http post请求
- http get请求
- 网络:GET 登录和转码
- 检查网络是否可用
- http协议
- 2016广东工业大学网络赛 B