代码之家  ›  专栏  ›  技术社区  ›  Stephan Kristyn

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

  •  0
  • Stephan Kristyn  · 技术社区  · 14 年前

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

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

    编辑: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
    

    编辑2:

    File name too long
    

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

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

    1 回复  |  直到 9 年前
        1
  •  1
  •   BalusC    14 年前

    它应该很好用。可能leechers被自动检测到并返回了不同的响应。既然你没有详细讲述实际反应,那就有点暗中刺痛了。尝试提供一个合法的用户代理,或者维护会话,或者使用一个更聪明的第三方监听工具。


    更新 根据您的更新:名称似乎太长,无法作为合法的“另存为”文件名,而且 ? 是文件名中的非法字符(至少在Windows中是这样)。这可能是这一切的根本原因。我不知道 wget ,但至少应该指定一个自定义输出文件名。手册会解释的。这个问题现在可能更适合 http://superuser.com .