tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルwebrequestでクッキーの扱い
記事No11662
投稿日: 2016/05/16(Mon) 01:54
投稿者デファイアント
お世話になります。以前はxmlhttpでいろいろお世話になりました。
少しづづvb.net環境に移行しています。

土日いろいろやってみたのですが、わからないので投稿してみました
よろしくお願いいたします。

●vb2013にて、yahooの自動ログインを行いたいと思っています
objIE = CreateObject("InternetExplorer.application")で外部ieを起動して
domを操作してログインすることはできました。
これを、webrequestにて行いたいのですがうまくいきません

==============以下プログラム
'(1)ログオンページを開く
Dim cc As Net.CookieContainer = New Net.CookieContainer()
Dim strURL As String
strURL = "hhttps://login.yahoo.co.jp"
' リクエストの作成
Dim req As Net.HttpWebRequest _
           = CType(Net.WebRequest.Create(strurl), Net.HttpWebRequest)
req.CookieContainer = cc

'***ログオンに必要なpostフィールドの編集(略)***

'(2)postリクエストの作成
strURL = "hhttps://login.yahoo.co.jp/config/login"
req = CType(Net.WebRequest.Create(strURL), Net.HttpWebRequest)
req.Method = "POST"
req.ContentType = "application/x-www-form-urlencoded"
req.ContentLength = data.Length
req.CookieContainer = cc

Dim reqStream As Stream = req.GetRequestStream()
reqStream.Write(data, 0, data.Length)
reqStream.Close()

****************まで
これを実行するとpost送信したところで、"クッキーの設定を確認し、クッキーを有効にしてください"
という状態です
同じ動作をブラウザ直接で入力しfiddlerを見たところ
最初のGETの時点でRequestHeaderにCookieがあり
POSTの時点でほぼ同じcookieを送信しています
ローカルに保存されているクッキーを読み込む必要があると思うのですが
req.CookieContainer = cc がまったく意味をなしていない状態かと思います
いろいろ検索したのですが、よくわからなかったので
なんとか教えて頂けないでしょうか,ヒント、参考サイトでもかまいません

[ツリー表示へ]