我有一些大致像这样的Java代码:

String urlString = "ftp://polar.ncep.noaa.gov/pub/history/waves/multi_1.glo_30m.dp.200601.grb2";
URL url = new URL(urlString);
URLConnection conn = url.openConnection();
InputStream is = conn.getInputStream();


当我到达最后一行时,代码将挂起并且永远不会返回。当我附加Wireshark并查看对话时,它的结束是这样的:

...
EPSV ALL
200 EPSV ALL ok.
EPSV
229 Entering Extended Passive Mode (|||32647|)
EPRT |1|144.212.217.249|58416|
200 EPRT command successful. Consider using EPSV.
RETR multi_1.glo_30m.dp.200601.grb2
150 Opening BINARY mode data connection for multi_1.glo_30m.dp.200601.grb2 (55796622 bytes).
426 Failure writing network stream.


此URL在我的浏览器中可以正常工作。其他站点可以使用此Java代码正常工作。任何想法为什么这种组合有麻烦?

最佳答案

这可能是Sun实施中的错误。我在这里报告过:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7148208

07-27 14:04