タイトル | : HTTPサーバーにPOST要求してログイン |
記事No | : 10018 |
投稿日 | : 2010/03/21(Sun) 22:25 |
投稿者 | : keisuke |
お世話になっています。 WINDOWS7 VB2008Express Edition で開発しています。
IE8でログインが必要なWEBに対して色々な操作をしていましたが、 webClientを使用して送受信をトライしています。
URL01 = "https://mobile.rakuten-sec.co.jp/fopweb/IMFR000_002_doLogin.do?" URL03 = "loginid=" & IDD(0, 1) & "&password=" & IDD(0, 2) & "&forward=3&fop=fop" objIE(W).Navigate(URL01 & URL03)
これを動作しますと、ログインはできました。(IDDにはSTRINGが入っています) 下のコーディングを動作させると <ログインIDもしくはログインパスワードが誤っております> となります。
Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding(932)とSystem.Text.Encoding.GetEncoding("EUC-JP")を932,51932,50220,50221,65001,utf-16 と試してみましたがログインできません. http://dobon.net/vb/dotnet/internet/webrequestpost.html#application http://www.atmarkit.co.jp/fdotnet/dotnettips/326cookie/cookie.html も試してみましたが駄目でした。 objIE(W).Navigate(URL01 & URL03)ではログインできますので、問題は URL03 = "loginid=" & IDD(0, 1) & "&password=" & IDD(0, 2) & "&forward=3&fop=fop" の変換だと思いますが、何か見落としていることは無いでしょうか? また、ログインした後ですとwebClientで送受信はできていますので、ログインが問題だと思いますが、良いアドバイスはいただけないでしょうか、よろしくお願いします。
悩んでいる箇所です。
URL01 = "https://mobile.rakuten-sec.co.jp/fopweb/IMFR000_002_doLogin.do?" URL02 = "loginid=" & IDD(0, 1) & "&password=" & IDD(0, 2) & "&forward=3" _ & "&fop=fop" Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding("EUC-JP")’ここを変えてみた
'POST送信する文字列を作成 Dim postData As String = System.Web.HttpUtility.UrlEncode(URL02, enc) URL02 = postData url = URL01 & URL02 ’’送信部です Dim webClient As New System.Net.WebClient() Dim sr As System.IO.Stream = webClient.OpenRead(url) Dim srRead As New System.IO.StreamReader _ (sr, System.Text.Encoding.GetEncoding(932))’ここを変えてみた S_gamen = srRead.ReadToEnd() srRead.Close() Debug.Print(S_gamen) Debug.Print(url)
’結果 ログインIDもしくはログインパスワードが誤っております。
ソースの抜粋です。
method="post">ログインID <input type="text" name="loginid" size="8" maxlength="8" value="">
ログインパスワード <input type="password" name="password" size="9" maxlength="8" value="">
<select name="forward"><option value="3">先物OPメニュー一覧 </option><option value="79">マーケットアロー(メール)登録 </option><option value="20">取引ルール </option></select> <input type="submit" value="ログイン"> <input type="hidden" name="fop" value="fop"></form>
<font color="#FF0000">! </font>このサイトは先物OP口座を開設されたお客様のみご利用可能です。
|