gpt4 book ai didi

javascript - 从 javascript 访问 jenkins 远程 api,无需 JSONP

转载 作者:行者123 更新时间:2023-11-28 08:48:21 25 4
gpt4 key购买 nike

我有一个 javascript 应用程序,它显示有关 jenkins 作业的信息。直到最近,我使用 JSONP 进行 ajax 调用来从 jenkins 检索数据(jenkins 和客户端位于不同的服务器上),但在最新的 jenkins 版本中,JSONP api 被禁用。

我读到Remote access API jenkins wiki 上的页面,但我仍然不知道如何从 javascript 做到这一点。我尝试使用基本的 http 身份验证(jenkins 使用 https),但没有成功。我也尝试使用 crumbissuer,但在日志中 jenkins 说 crumb 无效...

如何从 javascript 使用 jenkins 远程 api?谢谢。

编辑:

我尝试了这样的http身份验证(我不再有确切的代码):

$.ajax({
dataType : "json",
url : jenkinsURL + "/job/" + jenkinsJob + "/api/json?tree=name,url,color",
beforeSend : function(xhr) {
xhr.setRequestHeader("authorization", "Basic " + Base64.encode(username + ":" + password);
}
})
.done(function(data) {
// process data
})

我尝试类似地使用面包屑发行者:

$.ajax({
dataType : "json",
url : jenkinsURL + "/job/" + jenkinsJob + "/api/json?tree=name,url,color",
beforeSend : function(xhr) {
xhr.setRequestHeader(".crumb", "<received crumb>");
}
})
.done(function(data) {
// process data
})

最佳答案

在 Java 中使用这些设置请求 header 对我有用。

URL url = new URL(JenkinsURL);
HttpURLConnection xhr= (HttpURLConnection) url
.openConnection();


xhr.setRequestMethod("GET");
xhr.setRequestProperty("User-Agent",
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20130401 Firefox/31.0");
xhr.setRequestProperty("Accept",
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
xhr.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

xhr.setRequestHeader("Authorization", "Basic " + Base64.encode(username + ":" + password);
xhr.setRequestProperty("Connection", "Keep-Alive");
xhr.setAllowUserInteraction(true);
xhr.setDoOutput(true);

xhr.connect();


System.out.println(xhr.getResponseCode());// Hack to run the request if it wasnt run
BufferedReader br = new BufferedReader(new InputStreamReader(xhr.getInputStream()));
String output;
while ((output = br.readLine()) != null) {
//some code
}

关于javascript - 从 javascript 访问 jenkins 远程 api,无需 JSONP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19475173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com