我正在尝试使用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服务器?
谢谢!感谢您的意见/建议。
答案 0 :(得分:0)
我认为不可能。不仅仅基于你得到的错误:
无法下载页面
以及:
org.apache.http.HttpException:Scheme'ftp'未注册
但也基于HTMLUnit定义本身:
HtmlUnit是“用于Java程序的GUI-Less浏览器”。它为HTML文档建模并提供一个API,允许您调用页面,填写表单,单击链接等
正如您所看到的,它与使用HTTP
协议获取数据密切相关。
要使用FTP
下载文件,您应该使用FTP
客户端库。