私はさまざまなURLの内容を表示する簡単なプログラムを作成しようとしています。私のコードはこれです。Java URLクラスopenStream投げjava.net.ConnectException:接続拒否:接続
import java.io.IOException;
import java.io.InputStream;
import java.net.*;
public class test {
public static void main(String[] args) {
URL url;
//String site ="ftp://ftp.suse.com/";
//String site ="http://www.google.ca";
//String site = "ftp://ftp.gnu.org/README";
String site = "ftp://metalab.unc.edu/";
try {
url = new URL(site);
InputStream stream = url.openStream();
for(int i = 0;i!= -1;i= stream.read()){
System.out.print((char)i);
}
stream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
第3のリソースが
- 文字列サイト= "ftp://ftp.suse.com/" 大丈夫です。
- 文字列site = "http://www.google.ca";
- 文字列site = "ftp://ftp.gnu.org/README";
が、最後の1つの
- 文字列のサイト= "ftp://metalab.unc.edu/"。
また、これは私も試してみました他のさまざまなFTPサイトで発生し、次のエラーに
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.ftp.impl.FtpClient.openPassiveDataConnection(Unknown Source)
at sun.net.ftp.impl.FtpClient.openDataConnection(Unknown Source)
at sun.net.ftp.impl.FtpClient.list(Unknown Source)
at sun.net.www.protocol.ftp.FtpURLConnection.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at test.main(test.java:13)
を生成します。 HTTPサイトに問題はありませんでした。私はこれを解決するために何ができるか考えてください。指定されたすべてのリソースが私のブラウザからアクセスできます。
... wiresharkのをインストールし、ネットワークレベルでhappenningされ、地球上のものを参照してください:// Mozilla/5.0(Windows NT 6.1; rv:6.0)Gecko/20110814 Firefox/6.0 " –
@RyanStewartありがとう、編集されました。 – skyuzo
これは私のために働かなかった、私はまだ同じエラーを持っています。私はいくつかの異なるマシンでテストし、そのうちの1つでこのエラーが発生しました。 'sun.net.ftp.FtpProtocolException:PORT:500不正なPORTコマンド、実際にはEPSV ALL at sun.net.ftp.FtpClient.openDataConnection(FtpClient。 java:435) at sun.net.ftp.FtpClient.list(FtpClient.java:624) at sun.net.www.protocol.ftp.FtpURLConnection.getInputStream(FtpURLConnection.java:373) at test.main test.java:17) ' – train5potting