- PR -

Cookieが取得できない

1
投稿者投稿内容
feelmie
会議室デビュー日: 2002/10/19
投稿数: 17
投稿日時: 2002-12-23 15:54
Cookieを必要とする特定ページの取得をする為、まずCookieの取得をするため
ログイン処理を行っているのですが、うまく取得できません。
あるページというのはYahooなのですが、
Yahooではloginページへlogin(YahooID)とpasswdを送信するとcookieを戻し
Verifyページへリダイレクトしてcookieを返してもらい、cookieの存在を
確認しています。 Cookieを拒否していると、その旨を伝えるメッセージを表示しています。

コード:

Hashtable Hash = new Hashtable();
Hash.Add("login",id);
Hash.Add("passwd",pw);
string postdata = "";
foreach(string k in Hash.Keys)
{
postdata = postdata + "&" + k + "=" + Hash[k];
}

// [ログイン] id,passwd送信
Request = (HttpWebRequest)WebRequest.Create(LoginURL);
Request.AllowAutoRedirect = true;
Request.ContentType = "application/x-www-form-urlencoded";
Request.Method = "POST";

RequestStream = Request.GetRequestStream();
RequestStream.Write(Encoding.UTF8.GetBytes(postdata),0,postdata.Length);
RequestStream.Close();

HttpWebResponse Response = (HttpWebResponse)Request.GetResponse(); //(1)
Stream ResponseStream = Response.GetResponseStream();
StreamReader Reader = new StreamReader(ResponseStream,encEUC);
Console.WriteLine("Cookies Count : " + Response.Cookies.Count); // (2)
Console.WriteLine(Reader.ReadToEnd()); // (3)


(2)ではCookieが0、(3)ではCookie拒否をしている旨のメッセージが表示されます。
(1)が実行されたときにヘッダ部が読み込まれていると思うのですが、、、
Cookieはいつ飛んできて、どのタイミングで取り出せばいいのでしょうか。

[ メッセージ編集済み 編集者: えっじ 編集日時 2002-12-23 16:00 ]
feelmie
会議室デビュー日: 2002/10/19
投稿数: 17
投稿日時: 2003-01-12 06:18
自己レスです。
コード:
Request.CookieContainer = new CookieContainer();

が無いのが原因でした。
1

スキルアップ/キャリアアップ(JOB@IT)