当前位置: 首页 > 面试题库 >

如何使用Java远程登录到Jenkins服务器?

戚明朗
2023-03-14
问题内容

我正在尝试使用Java远程登录到Jenkins服务器。

我没有找到有关如何安全完成操作的文档。

对于使用url的本地服务器:http:// user:pass @ server无效。

有人可以推荐我一些有关此主题的文档吗?


问题答案:

詹金斯Wiki的文献资料

应该与您的基本身份验证类型一起使用。

具有httpclient 4.3.x的Java示例

import java.io.IOException;
import java.net.URI;

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class JenkinsScraper {

    public String scrape(String urlString, String username, String password) throws ClientProtocolException, IOException {
        URI uri = URI.create(urlString);
        HttpHost host = new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme());
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(new AuthScope(uri.getHost(), uri.getPort()), new UsernamePasswordCredentials(username, password));
        // Create AuthCache instance
        AuthCache authCache = new BasicAuthCache();
        // Generate BASIC scheme object and add it to the local auth cache
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(host, basicAuth);
        CloseableHttpClient httpClient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();
        HttpGet httpGet = new HttpGet(uri);
        // Add AuthCache to the execution context
        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpResponse response = httpClient.execute(host, httpGet, localContext);

        return EntityUtils.toString(response.getEntity());
    }

}


 类似资料:
  • 我们可以在远程Windows桌面中使用Java执行. bat文件吗?批处理文件检查系统服务,如果它关闭了,它应该Java本地机器中的程序进行通信,然后它应该再次执行并运行服务,并再次联系Java程序: 我的批处理文件当前只是检查服务是否启动,然后它会启动服务: 所以两个问题: 我们可以通过我的Java代码远程执行批处理文件吗: 如果可以的话: 该代码是否可以与基于特定条件的批处理文件通信(这里我的

  • 这是我的配置:在这里输入图像描述 并且有控制台输出: 构建成功总时间:7秒错误:步骤“Deploy War/EAR to a Container”由于异常而中止:java.io.ioException:预期Ant GLOB模式,但看到“/home/zhaowz/.jenkins/jobs/huamei-farm-web/workspace/BUILD/huamei.war”。有关hudson.fi

  • 我正在ip的服务器上使用以下命令连接到上承载的数据库 错误1045(28000):拒绝用户“user”@“y.y.y.y”的访问(使用密码:YES)

  • 问题内容: 我是使用cURL的新手,它很难为其找到好的资源。我想做的是通过curl来登录到远程站点,然后执行登录表单,然后将其发送回去。 我拥有的代码似乎无效,仅尝试显示网站的主页。 我究竟做错了什么。在此工作之后,我想重定向到另一个页面并从我的网站获取内容。 问题答案: 我已经放弃了好一阵子,但后来又重新讨论了。由于这个问题是定期查看。最终,这就是我最终使用的对我有用的东西。 更新:此代码绝不打

  • 本文向大家介绍python pexpect ssh 远程登录服务器的方法,包括了python pexpect ssh 远程登录服务器的方法的使用技巧和注意事项,需要的朋友参考一下 使用了python中的pexpect模块,在测试代码之前,可输入python进入交互界面,输入help('pexpect'),查询是否本地含有pexpect模块。 如果没有,linux系统输入 easy_install

  • 问题内容: 我们将Jenkins服务器用于日常构建过程,并通过SSH在远程主机上执行一些bash脚本。该脚本在远程主机上生成html日志文件。 我们正在使用“ 复制到从属”插件来复制从属计算机上的文件,并使用“ 通过ssh插件进行发布”来管理构建过程中的SSH会话。 现在的问题是,我们要将一些文件(脚本的日志文件)从远程ssh主机复制到Jenkins服务器。这将是可能的并且是相同的更好的选择(如果