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回まで
  • 13歳以上
  • 登録:2015/08/23 23:33:15
  • 終了:2015/08/25 19:26:26

回答(2件)

id:y-kawaz No.1

y-kawaz回答回数1421ベストアンサー獲得回数2262015/08/24 08:15:48

ポイント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

gizmo5回答回数484ベストアンサー獲得回数1382015/08/24 12:53:33

ポイント250pt

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

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

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

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

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

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

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

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

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません