とあるURL(固定、拡張子なし)の画像がありダウンロードをしたいのですが、
サーバー側でステータスコード404を吐くものでして、
ブラウザでの表示は<img src>タグを使っているため、
画像として表示されるのですが、Perlにて
LWP::UserAgent、WWW::Mechanize等でGETしても、
ステータスコードの404を判定してしまい、ダウンロードができません。
Perlにて、ステータスコードを無視して、強制的にダウンロードする方法はありませんでしょうか。
例:
画像URL:http://localhost/img
HTMLソース上:<img src="http://localhost/img">
レスポンスコード:404
保存したいファイル名:test.jpg
強制的にダウンロード云々じゃなくて、単にUser-Agentみて404返されてるだけじゃないですか?試しにブラウザのUAと同じものを指定してGETしてみてはいかがでしょう。
そのダウンロードできないという画像のURLが分からないと何とも言えませんが、無断転載を防止するためにリファラをチェックしているブログシステムがあります。
どこかのブログの画像を抜いてこようとしているのであればリファラをチェックされているのではないでしょうか。
WWW::Mechanizeはデフォルトでクッキー面倒みましたっけ?
明示的に禁止しなければ連続した処理ではCookieの処理をしてくれたと思います。
はい、、クッキーについては、何度も試してみました。
あ、嘘です。ソースコード見たら全然そんな実装じゃなかった…。
2015/08/24 13:52:31色々考えて頂き、ありがとうございます。なかなか方法が思いつかず、、そんなうまい具合に動いてくれるモジュールも見つからず。。
2015/08/24 15:45:37