阅读背景:

今天用httpclient访问jenkins遇到请求被转发到登录页面,看了网上的一些教程也没能解决。后来参考了下官方文档解决了,代码如下

来源:互联网 
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("https://cicd.bbtree.com/view/Java/api/json");
		//使用post方法
		//HttpMethod method = new PostMethod("https://java.sun.com");
		
		//查询
		int code = client.executeMethod(method);
		
		String result = method.getResponseBodyAsString();
		
		//释放资源
		method.releaseConnection();
		if(code!=200){
			result=null;
		}
		return result;
	}
}package com.bbtree.cicd.service;

import java.i



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: