HtmlUnit可以连接到FTP站点吗?

时间:2013-12-10 20:13:02

标签: java exception browser ftp htmlunit

我正在尝试使用HtmlUnit连接到 ftp://aeneas.mit.edu/pub/palladium/ ,这是一个ftp服务器但是我遇到以下异常:

Could not download the page at url: ftp://aeneas.mit.edu/pub/palladium/
org.apache.http.client.ClientProtocolException

        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:909)
        at com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:172)
        at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection(WebClient.java:1486)
        at com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1403)
        at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:305)
        at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:390)
        at com.osapp.UrlTester.main(ConnectToUrl.java:2650)
    Caused by: org.apache.http.HttpException: Scheme 'ftp' not registered.
        at org.apache.http.impl.conn.DefaultHttpRoutePlanner.determineRoute(DefaultHttpRoutePlanner.java:115)
        at org.apache.http.impl.client.DefaultRequestDirector.determineRoute(DefaultRequestDirector.java:793)
        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:414)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
        ... 8 more

注意:我正在使用HtmlUnit 2.12和Java 1.7

我可以使用chrome连接到此网站。由于HtmlUnit模仿浏览器,我觉得它应该能够完成现代Web浏览器可以做的大部分工作。有没有办法可以使用HtmlUnit连接到ftp服务器?

谢谢!感谢您的意见/建议。

1 个答案:

答案 0 :(得分:0)

我认为不可能。不仅仅基于你得到的错误:

  

无法下载页面

以及:

  

org.apache.http.HttpException:Scheme'ftp'未注册

但也基于HTMLUnit定义本身:

  

HtmlUnit是“用于Java程序的GUI-Less浏览器”。它为HTML文档建模并提供一个API,允许您调用页面,填写表单,单击链接等

正如您所看到的,它与使用HTTP协议获取数据密切相关。

要使用FTP下载文件,您应该使用FTP客户端库。