C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: WebログインとCookie取得


(過去ログ 63 を表示中)

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■36043 / inTopicNo.1)  WebログインとCookie取得
  
□投稿者/ カイロ (1回)-(2009/05/19(Tue) 01:34:18)

分類:[C#] 

こんばんわ。
VisualC#2008で開発しています。

ツールボックスのWebBrowserで
private void Login(object sender, EventArgs e)	{
	webBrowser.Navigate(URL);
	do	{Application.DoEvents();} while (webBrowser.ReadyState != WebBrowserReadyState.Complete);
	HtmlElement HE = webBrowser.Document.GetElementById("ID");
	HE.InnerText = id;
	HE = webBrowser.Document.GetElementById("password");
	HE.InnerText = password;
	webBrowser.Document.Forms[0].InvokeMember("submit");
}
で、Webページにログインする場合、Cookieを取得するには、なにを追加すればよいでしょう?

IEを使った場合だと、
http://www.atmarkit.co.jp/fdotnet/dotnettips/326cookie/cookie.html
に例があるのですが、StreamだったりHttpPost/Getだったりと、
ぜんぜん方法が違っているように見えて、うまくあてはめることができません。

Web.configファイルを作って、
<sessionState cookieless="true" />
としてみましたがログイン後のページを表示できませんでした。

webBrowser.Document.Cookieというのがあることはわかったのですが、
どう使えばよいか、見当がつかずにいます。

ご教示or適切なところにナビゲートしていただけるとうれしいです。

引用返信 編集キー/
■36193 / inTopicNo.2)  Re[1]: WebログインとCookie取得
□投稿者/ カイロ (2回)-(2009/05/23(Sat) 23:53:47)
どうかご教授お願いします。

引用返信 編集キー/
■36194 / inTopicNo.3)  Re[1]: WebログインとCookie取得
□投稿者/ Azulean (394回)-(2009/05/24(Sun) 00:02:41)
No36043 (カイロ さん) に返信
> で、Webページにログインする場合、Cookieを取得するには、なにを追加すればよいでしょう?
何をするために、Cookieを取得したいのでしょうか?

WebBrowserを使ったクライアントの話のようにも見えますし、Web.configという文言から自分でサイトを作っているようにも見えます。
こういった状況のため、"何をしたいのか"がよく分かりません。
引用返信 編集キー/
■36195 / inTopicNo.4)  Re[2]: WebログインとCookie取得
□投稿者/ カイロ (3回)-(2009/05/24(Sun) 01:46:27)
ログインに必要なサイトに自動でログインしたいのです。
それにはCookieが必要だと知り、Cookieを取得する方法を探しています。

Web.configが自分でサイトを作るものとは知りませんでした。
ということで情報は足りていますでしょうか?

引用返信 編集キー/
■36198 / inTopicNo.5)  Re[3]: WebログインとCookie取得
□投稿者/ Azulean (395回)-(2009/05/24(Sun) 07:20:27)
No36195 (カイロ さん) に返信
> ログインに必要なサイトに自動でログインしたいのです。
> それにはCookieが必要だと知り、Cookieを取得する方法を探しています。

「自動でログイン」というのは、このWebBrowserコントロールの中でですか?
それとも、自分のアプリとは別にいるブラウザでですか?


前者であれば、特に気にする必要はないのでは?
WebBrowserコントロールの中でCookieを保持・管理しているので、終了しない限りはそのログイン情報(セッションID等)をCookieとして保持していると思います。
今のコードでログインフォームでログインできているんですよね?


後者であれば、無理そうな気がします。
Cookieを取得することはできるかもしれませんが、別のブラウザに投げ直すところができないと予想しています。
引用返信 編集キー/
■36200 / inTopicNo.6)  Re[4]: WebログインとCookie取得
□投稿者/ カイロ (4回)-(2009/05/24(Sun) 13:17:56)
No36198 (Azulean さん) に返信
> ■No36195 (カイロ さん) に返信

このWebBrowserコントロールのなかでです。

ログインはできています。
ログイン後、おなじサイトの別のページに移動しようとすると、ページが存在しないとはねられます。
Cookieがないためで、そのためログイン時にCookieを取得したいと考えました。
引用返信 編集キー/
■36201 / inTopicNo.7)  Re[5]: WebログインとCookie取得
□投稿者/ Azulean (396回)-(2009/05/24(Sun) 13:51:32)
No36200 (カイロ さん) に返信
> ログインはできています。
> ログイン後、おなじサイトの別のページに移動しようとすると、ページが存在しないとはねられます。
> Cookieがないためで、そのためログイン時にCookieを取得したいと考えました。

そのサイトの認証の仕組みが分からないのですが、ログインしていないときにその「別のページ」にアクセスすると「ページが存在しない」というエラーになるのでしょうか?
例えば、IE等のブラウザでCookieを無効に設定すると、同じような現象が起きるのでしょうか?

「Cookieがないため」という判断に至った根拠が分からなかったため、上記2点の質問となりました。


ところで、Cookieを取得できたとして、別ページに行くときにCookieを設定することになるのかな?
引用返信 編集キー/
■36206 / inTopicNo.8)  Re[5]: WebログインとCookie取得
□投稿者/ はつね (1013回)-(2009/05/25(Mon) 06:46:20)
はつね さんの Web サイト
2009/05/25(Mon) 06:53:12 編集(投稿者)

No36200 (カイロ さん) に返信
> IEを使った場合だと、
> http://www.atmarkit.co.jp/fdotnet/dotnettips/326cookie/cookie.html

これIEを使った場合ではなく、.NETのWindowsアプリからhttp系のクラス(System.Net)使った場合です。


> このWebBrowserコントロールのなかでです。

WebBrowserコントロールってCookie対応してないんでしたっけ?


> ログインはできています。
> ログイン後、おなじサイトの別のページに移動しようとすると、ページが存在しないとはねられます。

IEなどのブラウザで同じ事をしたときには正しく(ページが存在しないとはねられない)動作してる
のでしょうか。


> Cookieがないためで、そのためログイン時にCookieを取得したいと考えました。

Cookieがないためというのはどのように確認しましたか?


もしかして、Webアプリつくってそこから別のWebサイトにログインしようとしている?
# ↑web.configってなんのweb.configを編集しているのだろうという疑問から
引用返信 編集キー/
■36213 / inTopicNo.9)  Re[6]: WebログインとCookie取得
□投稿者/ カイロ (5回)-(2009/05/25(Mon) 11:14:22)
C#+Webプログラムの初心者なので、到らない点があるかもしれません。

Azuleanさん
コメント&確認ありがとうございます。
ログインしていないときにその「別のページ」にアクセスすると
「ページが存在しない」というエラーになるのでしょうか?
はい。そうなります。

IE等のブラウザでCookieを無効に設定すると、同じような現象が起きるのでしょうか?
現在、該当するページがない(2週に1回程度数日間のみ存在する)ので確認できないのですが、
そうだと考えています。
次に該当ページができたら確認します。

Cookieを取得できたとして、別ページに行くときにCookieを設定することになるのかな?
そうだと考えています。

はつねさん
コメント&確認ありがとうございます。

http://www.atmarkit.co.jp/fdotnet/dotnettips/326cookie/cookie.html
これIEを使った場合ではなく、.NETのWindowsアプリからhttp系のクラス(System.Net)使った場合です。
あ。なるほど。ウィンドウとしてはIEが開くので、IEの場合と思っていました。

WebBrowserコントロールってCookie対応してないんでしたっけ?
そこのところがよくわからないのです。

IEなどのブラウザで同じ事をしたときには正しく(ページが存在しないとはねられない)
動作してるのでしょうか。
はい。IEでは、ログイン後に該当するページを表示すると、きちんと表示されます。

Cookieがないためというのはどのように確認しましたか?
担当の方に聞いてみました。
ただし、その方はわたしの仕事上の担当なだけで、Webサイトの担当の方ではないので、
ひょっとして違うかもしれません。
Cookieかどうかは、上に書いたとおり、IEでCookieを使わない設定にして確認できると考えます。
そのページが存在するのは2週間に1日程度なので、現在は確認できない状況です。

もしかして、Webアプリつくってそこから別のWebサイトにログインしようとしている?
いいえ。違います。
いろいろ試行錯誤しているときにWeb.configがでてきたので、やってみただけです。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -