2012-01-11 4 views
2

소켓을 사용하여 프록시를 가져 오려고합니다. . java.net.Socket의 (소켓에서 예외 오류소켓을 사용하여 프록시를 가져올 수 없습니다.

:하지만 때마다 나는 "스레드에서 예외"풀-1 스레드 1 "잘못된 프록시 java.lang.IllegalArgumentException가"를을 반환 것, 시도했다. java : 131)

Proxy.Type.SOCKS가 작동하면 작동합니다.

public void Test() 
{ 
    Socket s = null; 
    SocketAddress addr = null; 
    Proxy proxy = null; 

    addr = new InetSocketAddress("127.0.0.1", 8080); 
    proxy = new Proxy(Proxy.Type.HTTP, addr); 
    socket = new Socket(proxy); // This is the line that is triggering the exception 
} 
+0

로컬 호스트 (127.0.0.1 포트 8080)를 프록시로 사용하고 있습니다. 로컬에서 프록시 서버를 실행하고 있습니까? –

+0

InetSocketAddress ("127.0.0.1", 8080)를 프록시 서버 ip 및 포트 번호로 바꿉니다. –

+0

여기를보세요 http://stackoverflow.com/questions/7225873/how-to-connect-a-socket-server-via-http-proxy –

답변

5

슬프게도 이것은 (Oracle) Java의 버그입니다. Socket에 대해서는 DIRECT 및 SOCKS 프록시 만 지원됩니다. http://bugs.sun.com/view_bug.do?bug_id=6370908을 참조하십시오.

+0

감사합니다. 잠재적으로 좌절 스럽던 디버깅을 저의 것으로 구해 주셨습니다. 도대체 왜이 문제가 해결되지 않았습니까? – kufi

관련 문제