タイトル | : webrequestでクッキーの扱い |
記事No | : 11662 |
投稿日 | : 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 がまったく意味をなしていない状態かと思います いろいろ検索したのですが、よくわからなかったので なんとか教えて頂けないでしょうか,ヒント、参考サイトでもかまいません
|