将图像从Servlet生成的图像src保存到硬盘

时间:2010-08-16 18:07:34

标签: java html jsp image wget

我不知道如何在这个html源代码下自动检索并将图像保存到我的硬盘:

<img src="https://someRemoteServer/servlet/GetItemServlet?ts=32352.3&itemtype=blabla">

我试过wget,但它只将请求GetItemServlet本身保存到我的硬盘上。

我想在远程服务器(我不拥有,也没有后端访问权限)上遍历700个图像,并将它们全部保存到具有唯一标识符的硬盘中。

编辑:wget的输出:

HTTP Request sent, waiting for Response... 200 OK
Länge: 0 [text/plain]
Save in »»GetItemServlet?ts=32352.3««.

文件本身大小为0KB。

当wget解析它打印的许多参数时:

[29] 48426
[30] 48427
--2010-08-16 21:52:02--  https://media.myRemoteServer.com/servlet/GetItemServlet?ts=56555
-bash: 1281978458512=1: command not found

然后继续

[2]   Done                    itemtype_text=[Keine+Auswahl]
..
[29]-  Done                    id=9
[30]+  Done                    res=2

EDIT2:

转义&符号和问号后wget做得更好并抛出完全不同的错误信息:

File name too long

Cannot write to >GetItemServlet?ts=32352.3&itemtype=blabla< (Unknown error: 0) 

Edit3:无尽的故事。无论如何,这应该是超级用户。我缩短了URL名称,它贯穿始终,现在确实保存了一个文件。在这个似乎是HTML的文件中,它说我的会话用完了,我需要登录。我确实提供了wget的用户名和密码。但是当通过浏览器手动登录该站点时,您必须通过表单登录来完成。

1 个答案:

答案 0 :(得分:1)

它应该工作得很好。也许leechers会被自动检测并返回不同的响应。由于你没有详细讲述实际的反应,所以它在黑暗中有点刺痛。尝试提供合法的使用者,或维持会话,或使用更智能的第三方追求工具。

那就是说,您是否意识到大多数网站管理员并不真正欣赏这些行为?网络带宽和CPU负载不是免费的。


根据您的更新

更新:名称似乎太长而无法成为合法的另存为文件名,?也是文件名中的非法字符(至少在视窗)。这可能是这一切的根本原因。我不做wget,但你应该至少指定一个自定义输出文件名。它将在其手册中解释。这个问题现在可能更适合http://superuser.com