今天用httpclient访问jenkins遇到请求被转发到登录页面,看了网上的一些教程也没能解决。后来参考了下官方文档解决了,代码如下
2016-07-05 16:53
731 查看
package com.bbtree.cicd.service; import java.io.IOException; import org.apache.commons.httpclient.Credentials; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpMethod; import org.apache.commons.httpclient.UsernamePasswordCredentials; import org.apache.commons.httpclient.auth.AuthScope; import org.apache.commons.httpclient.methods.GetMethod; public class HttpClinet { public String get() throws HttpException, IOException{ //创建client对,相当于打开浏览器 HttpClient client = new HttpClient(); client.getParams().setAuthenticationPreemptive(true); Credentials defaultcreds = new UsernamePasswordCredentials("guest", ""); client.getState().setCredentials(AuthScope.ANY, defaultcreds); //相当于输入地址 //使用GET方法,如果服务器需要通过HTTPS链接,只需要将下面的URL中的http换成https HttpMethod method = new GetMethod("http://cicd.bbtree.com/view/Java/api/json"); //使用post方法 //HttpMethod method = new PostMethod("http://java.sun.com"); //查询 int code = client.executeMethod(method); String result = method.getResponseBodyAsString(); //释放资源 method.releaseConnect 905d ion(); if(code!=200){ result=null; } return result; } }
主要是这两个语句,其中 Credentials defaultcreds = new UsernamePasswordCredentials("guest", "");是填写用户名和密码。
<span style="white-space:pre"> </span> client.getParams().setAuthenticationPreemptive(true);
Credentials defaultcreds = new UsernamePasswordCredentials("guest", "");
client.getState().setCredentials(AuthScope.ANY, defaultcreds);
附上官方文档地址:http://hc.apache.org/httpclient-3.x/authentication.html#Preemptive_Authentication
有兴趣的自行查阅
相关文章推荐
- Wireshark网络抓包工具--过滤
- 关于windows service不能访问网络共享盘(NetWork Drive)的解决方案
- tcp_tw_reuse 与 net.ipv4.tcp_tw_recycle
- HTTP2 学习
- KK GMS无法通过网络定位
- 集线器、交换机、路由器、网桥、网关之间的区别与联系
- OKHttp的简单用法
- cocos2dx socket 网络连接
- 网络基础
- 一场由tcp_timestamps 引发的无解追击案
- 【HTTP】Fiddler(一) - Fiddler简介
- httpd启动脚本
- HTTP中GET和POST的区别
- 网络访问请求:中文空格字符解码
- HTTP头部详解
- Dialog根据网络状态显示,网络正常自动消失时,dismiss无效
- 自媒体时代网络脱口秀节目的“五W”分析——以《罗辑思维》为例
- okhttp cookie持久化
- tornado的http服务器实现
- linux 配置tomcat https访问