0

我刚刚收到了一个使用 Jodd 库的 groovy 项目(我对此几乎没有经验)。我正在寻找如何设置配置,以便可以在公司代理后面进行 http 和 https 调用。

目前已经设置了一个助手类

#! /usr/bin/groovy
package org.myOrg

import groovy.json.JsonBuilder
@Grab("org.jodd:jodd-http:3.8.5")
import jodd.http.HttpRequest

/**
 * Helper class for making REST calls from a Jenkins Pipeline job.
*/
class JenkinsHttpClient {
// Constants
private static final String USER_AGENT = "User-Agent";
private final HttpRequest httpRequest
private final String userAgent = 'Jenkins'

JenkinsHttpClient() {
    httpRequest = new HttpRequest()
}

/**
 * GET method
 * @param url - This is the endpoint
 * @return response body as String
 */
private def get(String url) {
    def resp = httpRequest.get(url)
            .header(USER_AGENT, userAgent)
            .send()
    return resp.bodyText()
}

我如何或在哪里添加配置,以便它可以在代理后面工作?

4

1 回答 1

1

HttpConnectionProvider还允许您指定代理。只需向ProxyInfo实例提供有关使用的代理的信息(类型、地址、端口、用户名、密码):

SocketHttpConnectionProvider scp = new SocketHttpConnectionProvider();
scp.useProxy(ProxyInfo.httpProxy("proxy_url", 1090, null, null));

HttpResponse response = HttpRequest
    .get("http://jodd.org/")
    .withConnectionProvider(scp)
    .send();

Jodd 支持 HTTP、SOCKS4 和 SOCKE5 代理类型。

请参阅文档

于 2017-12-01T19:27:53.883 回答