如何以编程方式从网站下载图像?

时间:2010-04-14 09:03:57

标签: java http image authentication download

我需要从网站下载图片,并且我有登录名和密码,但如果我只是使用URL下载图片,则会抛出异常:会话中没有值。

我认为我需要先登录网站才能以编程方式下载图片。

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

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

使用HTTP Client库编写蜘蛛以进行内容访问。

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

还有其他语言,如Perl:LWP。

答案 2 :(得分:1)

  

尽管java.net包提供了通过HTTP访问资源的基本功能,但它并未提供许多应用程序所需的完全灵活性或功能。 HttpClient旨在通过提供一个高效,最新且功能丰富的软件包来实现这一空白,该软件包实现了最新HTTP标准和建议的客户端。   HttpClient专为扩展而设计,同时为基本HTTP协议提供强大支持,HttpClient可能对构建支持HTTP的客户端应用程序(如Web浏览器,Web服务客户端或利用或扩展HTTP协议进行分布式通信的系统)感兴趣。

HTTPClient

HTTPClient Authentication

答案 3 :(得分:-1)

我想提一下HtmlUnit。它是一个使用Javascript for Java的无头浏览器。