|
カテゴリ:「VB.NETで自動売買」入門
またまた間が空いてしまいました。すみません。
今回は前回作成したHttpPost()メソッドの実装を行います。 全てのWebサービス呼び出し時に共通で使う部品のようなものなので大事です。 とは言っても、HTTPリクエストについて細かく解説するつもりは無く 「VB.NETでHTTP送信するためにはこう書きましょうね」と例を示すだけにしますので ご了承下さい。 まずHTTPリクエストをインスタンス化します。 WebRequestクラスにはCreate()メソッドというSharedメソッドが存在します。引数は 2通り存在しますが、今回使うのはリクエストURLの文字列を渡す方です。 'リクエストの作成 Dim req As HttpWebRequest = WebRequest.Create(url) あとは、お作法だと思って下さい。 もちろん理解するに越した事は無いので、興味のある方は勉強してみて下さい。 まずはメソッドがPOSTである事と、コンテンツタイプを指定します。 req.Method = "POST" req.ContentType = "application/x-www-form-urlencoded" リクエストパラメータはアスキーのバイト配列に変換します。 Dim data As Byte() = Encoding.ASCII.GetBytes(params) この時「Imports System.Text」が必要になります。 Dim data As Byte() = System.Text.Encoding.ASCII.GetBytes(params) と書いても良いですが。 次にデータ長を設定。 req.ContentLength = data.Length そして大事なのが次です。 Webサービスの呼び出し元には、ログインした情報などをずっと保持しておく必要があります。 クッキーと呼ばれるものです。 HTTPリクエストにはクッキーを渡し、今後何度も行われるHTTPリクエストのために そのクッキーを保持して毎回同じものを引き回さないといけません。 どこで保持しておくかですが、今回は簡単に考える為に、Form3クラスの変数として 直接持っている事にします。 クラス変数として 'クッキー Private Shared cc As New CookieContainer と指定しておき、メソッドの続きは req.CookieContainer = cc と、そのクッキーを設定しておきます。 続いてリクエストパラメータをリクエストに設定し、送信すればOKです。 'ポスト・データの書き込み Dim reqStream As Stream = req.GetRequestStream() reqStream.Write(data, 0, data.Length) reqStream.Close() '送信 Return req.GetResponse() Streamのために「Imports System.IO」が必要です。 もちろん、 Dim reqStream As System.IO.Stream = req.GetRequestStream() でも良いです。 これでHttpPost()メソッドは完成しました。現在のソースはこのようになっているはずです。 次回はいよいよ、ログイン処理を作成したいと思います! ログイン処理ではもちろんHttpPost()メソッドを使用するので、私が次回を書くまでに しっかり理解しておいて下さい。 今回はここまでです。失礼します。 お気に入りの記事を「いいね!」で応援しよう
Last updated
Dec 10, 2008 11:25:20 PM
コメント(0) | コメントを書く
[「VB.NETで自動売買」入門] カテゴリの最新記事
|