Perlにて質問です。


とある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

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2015/08/25 19:26:26
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:y-kawaz No.1

回答回数1422ベストアンサー獲得回数226

ポイント250pt

強制的にダウンロード云々じゃなくて、単にUser-Agentみて404返されてるだけじゃないですか?試しにブラウザのUAと同じものを指定してGETしてみてはいかがでしょう。

他2件のコメントを見る
id:y-kawaz

あ、嘘です。ソースコード見たら全然そんな実装じゃなかった…。

2015/08/24 13:52:31
id:furure

色々考えて頂き、ありがとうございます。なかなか方法が思いつかず、、そんなうまい具合に動いてくれるモジュールも見つからず。。

2015/08/24 15:45:37
id:gizmo5 No.2

回答回数504ベストアンサー獲得回数141

ポイント250pt

そのダウンロードできないという画像のURLが分からないと何とも言えませんが、無断転載を防止するためにリファラをチェックしているブログシステムがあります。
どこかのブログの画像を抜いてこようとしているのであればリファラをチェックされているのではないでしょうか。

他2件のコメントを見る
id:gizmo5

WWW::Mechanizeはデフォルトでクッキー面倒みましたっけ?

明示的に禁止しなければ連続した処理ではCookieの処理をしてくれたと思います。

2015/08/25 14:32:14
id:furure

はい、、クッキーについては、何度も試してみました。

2015/08/25 19:24:42
id:furure

皆さま色々考えて頂きありがとうございました。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません