下記のように、任意のホームページを取得してそれを出力するプログラムがあるのですが、リダイレクトで引越しされたホームページにアクセスしても、特に問題なく表示されます。
できれば、リダイレクトされた場合であれば、次から本当のURLにアクセスしたいためそのホームページを記録したいのですが何か良い方法は無いでしょうか?
ご存知の方、教えていただけ無いでしょうか?
宜しくお願い致します。
-CGI----------------------------------------------------
#!/usr/bin/perl
print "Content-Type: text/plain\n\n";
$url = 'http://URLを入れる';
use LWP;
use HTTP::Cookies;
$file = "cookies.txt";
$browser = LWP::UserAgent->new;
$browser->cookie_jar({file =>$file, autosave=>1 });
$response = $browser->get($url);
print $response->{_content};
__END__
if(リダイレクトされたならば){
open (OUT,">>RedirectLog.txt");
print OUT $url."\n";
close(OUT);
}
-CGI----------------------------------------------------
No.2ベストアンサー
- 回答日時:
リダイレクトされていたらリダイレクト禁止にして改めてurlを取り出すとか
if($response->previous()){ #リダイレクトされたならば
$browser->requests_redirectable([]);
$browser->get($url)->content()=~/<a href=[\"\']?([^\"\']+)[\"\']?>/i;
open (OUT,">>RedirectLog.txt");
print OUT $1."\n";
close(OUT);
}
#ちょっと処理的にアレな感じですがとりあえず動きました
No.1
- 回答日時:
が参考になるかも
実際に試してないのでわかりませんが、
LWPそのままだと透過的にリダイレクトするとあるので
LWP::UserAgent の simple_requestでリクエストを出して
レスポンス(HTTP::Response)から is_redirect でリダイレクトされたかどうかとheader('Location')でURLが取り出せるのではないかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- サーバー 301リダイレクトができる条件を知りたいです 2 2022/10/25 11:21
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
- その他(プログラミング・Web制作) robots.txtが”allow”のサイトを探しています 2 2022/10/09 13:07
- Oracle TOPページ以外の、301リダイレクトの記述設定について 1 2022/08/12 17:14
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- Perl perlのflock関数でロックをかけたままopen関数で何度もファイルを開きなおすことはできますか 3 2023/05/01 22:25
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
number 改行が追加できない
-
エクセルで集計したい。
-
htmlからパラメータで、cgiに渡...
-
生成AI画像について
-
フォームを再送信しますか?
-
CGIって何ですか?簡潔に教えて...
-
ホームページの事でおしえてく...
-
ホームページでCGIのフォームを...
-
CGIが読み書きするデータファイ...
-
(フリーの)ツリー掲示版CGI、...
-
cgiの注釈が出来ない
-
apacheでPerl CGIが作動せず、5...
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
-
サーバーのエラーでおしえてく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで集計したい。
-
フォームを再送信しますか?
-
apacheでPerl CGIが作動せず、5...
-
ホームページでCGIのフォームを...
-
生成AI画像について
-
/bin/awk '{print $5}'ってどう...
-
入力フォーム(電話番号)
-
(フリーの)ツリー掲示版CGI、...
-
古ーくからフリーのtree.cgi掲...
-
VBAで条件から範囲を指定して色...
-
ホームページにメールフォーム...
-
一番簡単なCGI,掲示板の設置教...
-
CGIって何ですか?簡潔に教えて...
-
サーバーのエラーでおしえてく...
-
サイト訪問者の情報を取得したい
-
htmlからパラメータで、cgiに渡...
-
CGIで出力するhtmlの<!DOCTYPE ...
-
cgiからsendmailを送信で文字化け
-
POSTメソッドの最大容量について
-
ホームページにCGIを設置したの...
おすすめ情報