2010-07-01 2 views
15

원격 서버에 연결해야하는 Eclipse 플러그인을 작성 중입니다. Eclipse 네트워크 설정을 사용하여 proxyHost 및 Port를 얻으려고합니다. 로컬 컴퓨터에서 설정 한 경우 IProxyServiceIProxyData 클래스와 "기본"프록시 설정을 사용하여 "수동"설정 프록시를 얻을 수있었습니다. proxyProvider가 Native로 설정되고 proxyHost 및 Port 값이 Eclipse 설정에서 동적으로 표시 될 때 문제가 발생합니다. 이러한 값에 액세스 할 수있는 방법이 있습니까?이클립스 네트워크 설정에서 동적 프록시에 액세스하는 방법은 무엇입니까?

감사합니다.

+1

동적이 아닌가 = 목표 호스트를 기반으로 자바 스크립트 함수에 의해 계산됩니까? IProxyService.select (URI) 메서드를 사용하고 거기에 대상 URL을 지정하려고 시도 했습니까? –

답변

0

Eclipse가 런타임에 호스트를 결정하기 전에 플러그인 연결 단계가 실행되지 않습니까? 그것이 Eclipse의 네트워크 설정의 정적 정의와 동적 정의 사이에있는 유일한 차이점입니다.

0

다음은 프록시 설정시 항상 유용합니다. 응답들에 대한

System.setProperty("https.proxyHost", "myproxy.domain.com"); 
System.setProperty("https.proxyPort", "myport"); 
1

감사합니다,

이클립스에 IProxyService 클래스를 사용하여 수행 할 수 있습니다. 아래의 코드 스 니펫은 무시할 수있는 경우 리플렉션을 사용합니다. 또한 프록시 추적기
private ServiceTracker getProxyTracker() throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException { 
    if (proxyTracker != null) 
     return proxyTracker; 

    String proxyServiceClassName = "org.eclipse.core.net.proxy.IProxyService"; 
    String bundleClassName = "org.osgi.framework.Bundle"; 
    Class bundleClass = Class.forName(bundleClassName); 
    Method getBundleContextMth = bundleClass.getMethod("getBundleContext", null); 
    getBundleContextMth.setAccessible(true); 

    BundleContext bundleCntx = (BundleContext) getBundleContextMth.invoke(bundle, null); 
    proxyTracker = new ServiceTracker(bundleCntx, proxyServiceClassName, null); 
    proxyTracker.open(); 

    return proxyTracker; 
} 

2

) 프록시가

3

를 사용할 수 있는지 확인하기 위해 "isProxiesEnabled"방법을 사용)을에 따라)이 링크 ( http://www.vogella.de/blog/2009/12/08/eclipse-rcp-proxy-preference/)

1을 살펴 받기 Eclipse 버전은 "getProxyDataForHost"또는 "select"메소드를 사용하여 Eclipse 프록시 정보 (호스트, 사용자 ID, 비밀번호 등)에 액세스합니다.

관련 문제