2011-12-13 5 views
1

웹 사이트에 연결하는 그루비 스크립트를 작성하려고합니다. 웹 주소는 비표준 형식 인 .abc으로 끝납니다.Groovy URL UnknownHostException (Windows)

나는 Linux 상자에서 작동하는이 스 니펫 코드를 가지고 있으며 지금은 Windows 상자로 이동합니다. Windows 상자는 UnknownHostException을 throw하고 실패합니다.이 웹 사이트는 Linux 및 Windows의 브라우저에서 렌더링합니다.

def url = 'http://www.testURL.abc' 
def connection = new URL(url).openConnection() 
if (connection.responseCode != 200) 
    <<Error Handling>> 

저는 Windows와 Linux 상자가 서로 다른 프록시를 사용하여 연결하기 때문에 프록시 문제 일 수 있다고 생각합니다. 나는 이것을 보았고 각각의 상자에 Java를 구성하여 도움이되지 않은 브라우저의 프록시를 사용했습니다. 이 시점에서, 나는 다소 붙어 있습니다. 어떤 도움이라도 대단히 감사하겠습니다.

EDIT * 두 프록시는 내가 프록시 문제를 통해 해결책을 찾는 결국

+0

아무것도의 코드였다

나는 다음과 같은 코드를 사용하여 프록시 호스트 및 포트를 설정했다. 프로토콜이 없기 때문에'www.textURL.abc'는 유효한 완전한 URL이 아니며 (예 :'http') 포트가 없습니다. 연결하기 위해 하나 또는 둘 다를 지정해야합니다. 둘째,'String'에'openConnection()'이 없기 때문에 라인 컴파일이 실패합니다. 유효한 코드 예제를 제공해주십시오. – OverZealous

답변

0

이상을 복사에서 자동 구성 스크립트 (는 .pac 파일) ** 업데이트 구문 오류를 사용하고 있습니다. 자동 구성 스크립트 (.pac 파일)를 다운로드하고 내 URL에 사용 된 프록시 호스트와 포트를 찾아야했습니다.

ProxySelector.setDefault(new ProxySelector() { 

    @Override 
    public void connectFailed(URI uri, SocketAddress sa, IOException ioe) { 
     throw new RuntimeException("Proxy connect failed", ioe); 
    } 

    @Override 
    public List select(URI uri) { 
     return Arrays 
      .asList(new Proxy(Proxy.Type.HTTP, 
           new InetSocketAddress(proxyHost, 
                proxyPort))); 
    } 
}); 

이것은 당신이 올바른 게시하는 샘플에 대한 unknown host exception