如何自动从使用 Java Servlet 的 SSL 站点获取图像

如何自动从使用 Java Servlet 的 SSL 站点获取图像

这很棘手。我想使用 curl、wget 或任何其他工具登录提供登录表单的 SSL 网站。然后我想访问该域中的几个链接并获取某些图像。

我让它在 bash 中工作:

curl -c /tmp/cookie.txt -d "login=username&password=passw&send=submit" https://URI

稍后使用 cookie

curl -b /tmp/cookie.txt https://URI

诀窍在于您必须将凭证提交到action=html 表单字段的地址。

我现在面临的另一个问题是,这不会写入任何图像,因为图像的 URL 是由某些 Servlet URI 构建的:

<img src="URI/servlet/manyParametersWith?And=AndLotsOf&">

答案1

尝试使用 Python 和 mechanize(也适用于 Perl)。你可以这样做:

import mechanize
br=mechanize.Browser()
br.open('http://www.yourfavoritesite.com')
br.select_form(nr=0) #check yoursite forms to match the correct number
br['Username']='Username' #use the proper input type=text name
br['Password']='Password' #use the proper input type=password name
br.submit()
br.retrieve('https://www.yourfavoritesite.com/pagetoretrieve.html','yourfavoritepage.html')

答案2

好的,写入图像的唯一可能性是将其显示在浏览器中,例如通过 php echo,然后通过 php 将其写入磁盘。一些用户报告说这可能有效。

相关内容