2010-01-13 116 views
1

我試圖以編程方式(Java)打開指向網絡上調制解調器的URL。我連接到網絡,並可以ping設備以及在瀏覽器中獲取URL。但是,通過編程,我在嘗試打開連接時收到以下堆棧跟蹤。java.net.SocketException:軟件導致連接中止:連接

java.net.SocketException: Software caused connection abort: connect 
at java.net.PlainSocketImpl.socketConnect(Native Method) 
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) 
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) 
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) 
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) 
at java.net.Socket.connect(Socket.java:519) 
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:550) 
at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:141) 
at sun.net.NetworkClient.doConnect(NetworkClient.java:163) 
at sun.net.www.http.HttpClient.openServer(HttpClient.java:394) 
at sun.net.www.http.HttpClient.openServer(HttpClient.java:529) 
at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:272) 
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:329) 
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:172) 
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:793) 
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:158) 
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1041) 
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234) 

此外,URL使用https協議。

這裏是我的代碼:

try { 
     URL jipmURL = new URL("https://xxx.xxx.xxx.xxx/login.cgi"); 
     URLConnection urlConnection = jipmURL.openConnection(); 
     InputStreamReader streamReader = new InputStreamReader(
            jipmURLConnection.getInputStream()); 
     BufferedReader in = new BufferedReader(streamReader); 

     StringBuffer stringBuffer = new StringBuffer(); 
     String inputLine; 
     while ((inputLine = in.readLine()) != null) { 
      stringBuffer.append(inputLine); 
     } 
     System.out.println("Results: " + stringBuffer); 
     in.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

任何幫助,將不勝感激,

史蒂夫

回答

1

異常消息表明,你甚至無法建立與網絡TCP連接服務器。很難猜出究竟是什麼問題,因爲您可以從瀏覽器打開頁面,但是可能只是因爲您運行的軟件防火牆拒絕Java進程連接到該地址?

+0

我身邊沒有運行軟件防火牆。我不知道調制解調器是否有某種阻止事物的「防火牆」,但我注意到的一件事是,當我嘗試訪問瀏覽器中的URL時,它有證書錯誤。這可能是問題嗎? – 2010-01-13 20:17:08

+0

你可以檢查你是否可以使用'new Socket(「xxx.xxx.xxx.xxx」,443);''從Java程序打開一個普通的TCP套接字到調制解調器。 – jarnbjo 2010-01-13 20:30:20

+0

好的,只是檢查我是否能夠打開一個計劃TCP套接字到調制解調器,我不是。它出現了相同的異常,錯誤和堆棧跟蹤。還有什麼想法?另外,當我做一個tracert時,它給我發送錯誤:代碼1314. – 2010-01-14 16:16:42

相關問題