CGIで別のWebページを表示するには?
[上に]
[前に]
[次に]
CGI初心者
[E-Mail]
2000/04/05(水) 11:55:07
アクセス回数に応じて、表示するページを決めるという内容を
CGI(Perl)にて作成しようと思っているのですが、CGIにて
htmlを自動的にCALLするには、どうしたら良いでしょうか?
(※ボタン押下により表示するのでは無く。)
初歩的な質問かもしれませんが、ご教示くだされば幸いです。
よろしくお願いいたします。
H&A
2000/04/05(水) 11:59:25
いちばん簡単なのは、CGI の出力するヘッダに
Location: 表示するページの URI
を追加することですね。
CGI でその HTML を自力ゲットして出力…という方法も考えられますが、ご質問の目的からしてあまりオイシクないと思います。
CGI初心者
[E-Mail]
2000/04/05(水) 13:33:22
H&Aさま、早速の御回答ありがとうございました。
print "Location: http://www.XXX.co.jp/\n";
というように、cgiファイルに書き込んだのですが
""内に記述している文字が、そのまま表示されるだけに
なってしまいます。
何か誤りがありましたら、ご指摘くださいませ。
Syn
[E-Mail]
2000/04/05(水) 13:36:17
Location: はヘッダなので、
print "Content-Type: text/html\n\n";
のあとに書いてはいけません。
# すでに FAQ 化かしら?
たれ
2000/04/05(水) 13:36:41
print "Location: http://www.XXX.co.jp/\n\n";
のように改行を、もう一個増やしてください。
他のContent-typeなどは出力しないようにしてくださいね。
H&A
2000/04/05(水) 13:36:55
> ""内に記述している文字が、そのまま表示されるだけに
> なってしまいます。
前後の処理を見ていないのでなんともいえませんが…
「直前で "\n\n" を出力してしまったために、HTTP ヘッダでなく本文と解釈されてしまっている」ということかもしれません。../200004/00040048.htm などを参照ください。
H&A
2000/04/05(水) 13:43:41
みなさんすばやい…
> 他のContent-typeなどは出力しないようにしてくださいね。
HTTP/1.1 的には、Location と Content-Type を同時に出力し、さらに本文を送信してもオッケーです。
CGI初心者
2000/04/05(水) 13:45:48
[[解決]]
御回答をいただきました、皆さま。
おかげ様で、無事解決することができました。
ありがとうございましたっ!!
H&A
2000/04/05(水) 13:46:25
> HTTP/1.1 的には、Location と Content-Type を同時に出力し、さらに本文を送信してもオッケーです。
ごめんなさい。こんなことを書くと混乱の元ですね。
たれさんのおっしゃりたいことは、「Location はリダイレクト用のレスポンスヘッダなので、Content-Type などを出力しても意味がありません。リダイレクトさせる際には、リダイレクトに必要なヘッダのみを書くようにしましょう」ということですよね。
たれ
2000/04/05(水) 13:51:32
>たれさんのおっしゃりたいことは、「Location はリダイレクト用のレスポンスヘッダなので、Content-Type など
>を出力しても意味がありません。リダイレクトさせる際には、リダイレクトに必要なヘッダのみを書くようにしましょ
>う」ということですよね。
後でソース見たとき、「自分は何をやりたかったんだろう...」と
頭を抱える事になる原因になりかねないですしね(^^;
CGI初心者
2000/04/05(水) 13:51:52
[[解決]]
御回答をいただきました、皆さま。
おかげ様で、無事解決することができました。
ありがとうございましたっ!!
[上に]
[前に]
[次に]