425 建立连接失败

我正在尝试使用 Java 应用程序通过 FTP 下载文件。

可从此网页访问 FTP 网址:http://professionnels.ign.fr/adminexpress。更具体地说,我正在尝试下载此文件

  • 在家里,我可以使用我的 java 应用程序、Firefox 或 Chrome 成功下载该文件。

  • 从我的工作来看,我只能对 Firefox 和 Chrome 做同样的事情。我的应用程序拒绝下载任何内容。

注意:在工作中,浏览器和我的应用程序使用相同的 HTTP 代理访问互联网。

我正在使用Apache Commons Net 3.6

这是我的应用程序的 FTP 交换示例。我无法嗅探 Chrome 或 Firefox 的那些。

220 Bienvenue sur le site FTP de L INSTITUT NATIONAL DE L INFORMATION GEOGRAPHIQUE ET FORESTIERE

USER *******

331 Please specify the password.

PASS *******

230 Login successful.

TYPE I

200 Switching to Binary mode.

PASV

227 Entering Passive Mode (192,134,132,16,65,180).

RETR /ADMIN-EXPRESS-COG_2-0__SHP_WM__FRA_2019-05-20.7z.001

425 Failed to establish connection.


慕尼黑的夜晚无繁华
浏览 120回答 1
1回答

qq_花开花谢_0

博士事实证明,我工作中的 HTTP 代理已经处理了所有的 FTP 交换。这就是 Firefox 和 Chrome 可以下载该文件的原因。当它们不在 HTTP 代理后面时,它们似乎通过直接发送 FTP 命令充当 FTP 客户端。使用 ftp url 向 HTTP 代理发送一个简单的 HTTP GET 请求就足以下载文件。以下是我在调查过程中找到的解决方案的总结:使用被动模式(PASV 命令)检查是否有要使用的 FTP 代理而不是 HTTP 代理检查 FTP 服务器的配置(如果您有权访问它)检查 HTTP 代理的配置(如果您有权访问它)准确地说,浏览器执行一个简单的 HTTP 请求,如下所述:GET ftp://user:passw0rd@example.com/file.ext HTTP/1.1 Host: example.com User-Agent: WebBrowser-UA/x.y.z ...然后 HTTP 代理解析 FTP url 并连接到 FTP 服务器。HTTP 代理将文件内容作为正常的 HTTP 响应返回。HTTP/1.1 200 OK Last-Modified: Tue, 21 May 2019 11:23:00 GMT Content-Length: 115545060Content-Type: octet/stream Connection: Keep-Alive Age: 22Date: Thu, 27 Jun 2019 10:27:09 GMT (file content here...)但是,就我而言,HTTP 代理允许我连接到 FTP 服务器并仅在命令FTP 通道上进行交换。数据通道似乎在 ACTIVE 或 PASSIVE 模式下被阻塞。在我的调查中,我发现很多人遇到了同样的问题。他们找到的解决方案(当他们找到一个......)不适用于我。以下是所有这些问题中表达的解决方案的总结:使用被动模式(PASV 命令)检查是否有要使用的 FTP 代理而不是 HTTP 代理检查 HTTP 代理是否直接处理 FTP 交换检查 FTP 服务器的配置(如果您有权访问它)检查 HTTP 代理的配置(如果您有权访问它)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java