WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:LocationヘッダとCookieの併用

0:[投稿] fireworks [2002/12/25 17:50 ][環境:Win2000 + NN4.7, IE5.5 UNIX, Apache, CGI(perl)]

Locationヘッダで飛ばす際、以下のように
Cookieを設定する事はできるでしょうか?
飛ばした先で、$ENV{'HTTP_COOKIE'}から取得しても
何も入らない場合と、cookieの値が設定されている場合がありました。
ブラウザで、cookieの設定は有効にしています。

print "Location:http://xxx/cgi-bin/test/samp1.cgi\n\n";
print "Set-Cookie: key=hoge; path=/;";

ちなみに、metaタグを使用すると必ずcookieの設定ができますが。
print "Content-type: text/html\n\n";
print "<head>\n";
print "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=http://xxx/cgi-bin/test/samp1.cgi>\n";
print "<META HTTP-EQUIV=\'Set-Cookie\' CONTENT=\'key=hoge\'>\n";


1:[回答] やじうま1号 [2002/12/25 18:30 ]

反対にして御覧。
Set-CookieがHTTPヘッダからあぶれていますよ。


2:[質問] fireworks [2002/12/25 18:56 ]

お忙しい所、回答ありがとうございます。

print "Set-Cookie: key=hoge; path=/;";
print "Location:http://xxx/cgi-bin/test/samp1.cgi\n\n";

にすると、ドキュメントにデータがふくまれていませんに
なってしまう為、逆にしたんですが。

ちなみにsamp1.cgiは、正常にコンテンツを吐き出しています。
上記のようにして、cookieヘッダをとると、
ドキュメントにデータがふくまれていませんは、出力されません。


3:[質問] fireworks [2002/12/25 18:59 ]

わかりづらいかもしれないので、補足します。

>上記のようにして、cookieヘッダをとると、
>ドキュメントにデータがふくまれていませんは、出力されません。

とは、以下のようにする事を指しています。
#Cookieヘッダを出力しないようにコメントする
#print "Set-Cookie: key=hoge; path=/;";
print "Location:http://xxx/cgi-bin/test/samp1.cgi\n\n";


4:[回答] ひじ [2002/12/25 20:16 ]

CGIは
1. ヘッダフィールドを改行で区切る
2. 空行でヘッダが終了、次の行から本文が始まる

print "Location:http://xxx/cgi-bin/test/samp1.cgi\n";
print "Set-Cookie: key=hoge; path=/;\n";
print "\n"; # 空行


5:[完了] fireworks [2002/12/25 20:40 ]

>print "Location:http://xxx/cgi-bin/test/samp1.cgi\n";
>print "Set-Cookie: key=hoge; path=/;\n";
>print "\n"; # 空行

意図した動作ができました。
ありがとうございました。


6:[質問] fireworks [2002/12/26 14:16 ]

すいません。追加で質問です。

以下のように別ポートで稼動するCGIに飛ばしても
cookieの値は送信できますでしょうか?
実施してみたところ、Cookieは設定されていないです。
(受け側で、Cookieの値を参照しても設定されていないもようです。)

print "Location:http://host:8080/cgi-bin/test/samp1.cgi\n";
print "Set-Cookie: key=hoge; path=/;\n";
print "\n"; # 空行


7:[回答] andi [2002/12/26 16:08 ]

元に戻ってんじゃん。


8:[回答] andi [2002/12/26 16:08 ]

失礼。勘違い。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World