2017-11-21 10 views
1

Jodd 라이브러리를 사용하는 그루비 프로젝트를 나에게 전달했습니다. http 및 https 호출을 회사 프록시 뒤에 만들 수 있도록 설정을 구성하는 방법을 찾으려고합니다.프록시 뒤에서 Jodd HTTP 라이브러리 사용

아무도이 경험이 있었기 때문에 도움을 줄 수 있습니까?

순간

헬퍼 클래스는 설정되었는지

#! /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() 
} 

방법 또는이 프록시가 작동 할 수 있도록 내가 설정을 추가하는 방법은 무엇입니까?

또한 프록시를 지정할 수 있도록 도움을

감사

+0

내 답변이 도움이 되었습니까? 그냥 더 많은 도움이 필요하면 궁금해 ... – igr

답변

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 프록시 유형을 지원합니다.

documentation을 참조하십시오.

+0

해답을 주셔서 감사합니다, 나는 월요일까지 이것을 시도 할 수있는 기회가 없을 것이지만, 내가 가진대로 곧 알려 드리겠습니다. 덕분에 다시 – Richlewis

+0

도와주세요;) – igr