2010-04-14 64 views
1

我需要从网站上下载图片,我有登录名和密码,但是如果我只是使用URL下载图片,它会抛出一个异常:会话中没有任何值。如何以编程方式从网站下载图片?

我想我需要先登录网站,然后才能以编程方式下载图像。

你有什么解决方案吗?提前致谢 !

回答

-1

我想提HtmlUnit。这是一个带Java Javascript的无头浏览器。

1

在简单的情况下,您可以使用带有URL的URLConnection并下传内容。更一般地说,我强烈建议你使用Apache HttpClient,因为你需要进行身份验证,并可能收到并发送cookie到服务器。阅读关于AuthenticationMethods的用户指南,尤其是Get

+1

来自http://hc.apache.org:* HttpComponents客户端是Commons HttpClient 3.x的继任者和替代者。强烈建议Commons HttpClient用户升级。*;) – BalusC 2010-04-14 13:15:47

1

使用HTTP Client库来编写内容访问的蜘蛛。

我建议记录登录和内容访问的HTTP流量,然后使用库重建通信,如果你想坚持使用Java。

还有其他一些库以及Perl等其他语言:LWP。

1

尽管java.net软件包提供了通过HTTP访问资源的基本功能,但它并没有提供许多应用程序所需的全部灵活性或功能。 HttpClient试图通过提供一个高效的,最新的,功能丰富的包来实现最新的HTTP标准和建议的客户端,从而填补这一空白。 为基础HTTP协议提供强大的支持而设计的扩展,对于任何构建HTTP感知的客户端应用程序(如Web浏览器,Web服务客户端或利用或扩展HTTP协议以进行分布式通信的系统),HttpClient可能都很感兴趣。

HTTPClient

HTTPClient Authentication