会社員KNIGHTの趣味三昧(卓球・盆太鼓・色々!)

会社員KNIGHTの趣味三昧(卓球・盆太鼓・色々!)

PR

×

Calendar

Category

カテゴリ未分類

(0)

卓球

(1332)

盆太鼓・盆踊り

(445)

トイドローン

(21)

その他

(342)

■■■■■■↓以下は凍結カテゴリー↓■■■■■■

(0)

KATS(自動売買プログラム)

(87)

「VB.NETで自動売買」入門

(24)

本日の取引

(1292)

デイトレ結果(勝ち)

(365)

デイトレ結果(負け)

(591)

夜間取引結果

(15)

今週の取引

(480)

今月の取引

(103)

明日の監視銘柄

(54)

株関連

(55)

草野球

(36)

Keyword Search

▼キーワード検索

Comments

KNIGHT @ Re[1]:第一回いたみええじゃないか(07/04) MEGUさんへ 会場入りする時にCoCo壱番屋の…
MEGU@ Re:第一回いたみええじゃないか(07/04) こんにちは。ご無沙汰です。 イベントのこ…
KNIGHT@ Re[1]:2025年度 名東オープン卓球大会(12/14) たかみさんへ 有り難うございました! お…
たかみ@ 過分なお褒めの言葉で恐縮です(汗) ダブルスはお互いさまでしたね(^^; 皆さん…
KNIGHT@ Re[1]:愛好会の小さな盆踊り 令和7年・秋(11/23) 浪速の投げ師さんへ いつもお世話になり有…
浪速の投げ師@ Re:愛好会の小さな盆踊り 令和7年・秋(11/23) 遅くまで、お疲れさんでした。 久しぶり…
KNIGHT@ Re:2025年度 関西場所卓球大会(09/27) たかみさん、 こちらこそお世話になりまし…
たかみ@ お礼:2025年度 関西場所卓球大会(09/27) 助っ人、ありがとうございました。 おかげ…
Jul 3, 2007
XML
情けない話ですが、やっとVB2005のプログラムからGMOインターネット証券のWebサービスAPIを
使って認証されるところまで作成出来ました。実現出来たのはログイン処理だけです。

VBからHTTPリクエストやレスポンス、クッキーなどを扱うクラスをどうやって使うかについて
検討したり、実現方法は色々あるのでどの方法にするか悩んだり、あともう1つ大きいのは
「一応ITの人間なので『動きゃいい』ってのは許せない」から、拡張性やメンテ性に優れた設計に
したくてデザインを試行錯誤してたってのもあります。


クラスを扱う側はGMO証券のAPIを全く知らなくても利用出来るようにしてます。ログインや発注、
約定履歴の照会など、各サービスに対してメソッドを作成します。
例えばpublicなメソッドとして今回作成したLogin()メソッドがあるのですが、呼び出し側は
ユーザーIDとパスワードを渡して呼び出すだけです。
内部では、ログインサーバーにHTTPリクエストを投げて認証サーバーのURLをもらい、リダイレクト。
認証準備のレスポンス(XML)を取得します。
XMLで準備OKを確認すると、今度は認証用URLを生成し、認証準備のレスポンスに含まれる
クッキーを引き回して、ユーザーIDとパスワードをパラメータにしてHTTPリクエストを投げて
リダイレクトし、認証結果のレスポンス(XML)を取得します。


こんな流れですが、結構ややこしい手続きを経てやっとログイン出来ます。
この中で、HTTPリクエストを送信する処理が出て来ますが今後も違うメソッドを作る時にも必ず
行う処理ですので、メソッドで外出しして再利用可能にしています。

して責務分割したりしています。
もしログイン処理というメソッドにダラダラとコードを書いてしまうと、後々死ぬ事になりますから。
ここまでやってると、今度発注やその他のメソッドを作る時に非常に楽になります。

WebサービスのAPI系処理はまず1つ出来たので、ちょっと回り道(?)して、今度は
「毎日Webサービスを使用する為に利用設定をしないといけない」部分について、わざわざ
Webサイトにログインして操作しないといけない作業を自動化しておこうと思います。





お気に入りの記事を「いいね!」で応援しよう

Last updated  Jul 4, 2007 12:06:33 AM
コメント(4) | コメントを書く


■コメント

お名前
タイトル
メッセージ
画像認証
上の画像で表示されている数字を入力して下さい。


利用規約 に同意してコメントを
※コメントに関するよくある質問は、 こちら をご確認ください。


順調ですね  
1号機 さん
順調ですね。要素技術をカプセル化するのはとても大切な
ことだと思います。時間かかってもトータルで考えれば
それがよいです。さらに要素技術の安定度も同時に高める
必要があります。私の要素技術のひとつにその瞬間の銘柄の
データ取得というのがあるのですが、これは長らく問題
なかったのに、今日午後1時半くらいに証券会社からの
システム強制切断があった模様で、その後、50個取得
されるはずのデータが1銘柄について証券会社から無反応に
なり、49個しか取れてませんでした。そのためにずれ始めた
箇所から後が全部狂ってました。想定外の状況では帰宅後の
原因究明のためにスクリーンキャプチャを取って保存して
停止するようにしているので、事なきを得ましたが。。。
先ほどスクリーンキャプチャとログを手がかりに修正した
ところです。それにしても久々にトラブるとはるか昔の
ソースを見返す必要があり、覚えてない箇所が多いですね。
ソース中の自分自身のコメントに助けられてる感じです。
(Jul 4, 2007 04:32:12 AM)

正直言いますと・・・  
Coo0701  さん
用語がちんぷんかんで、別世界の宇宙語です。
けど、少し調べたりするとちょっとだけ理解できたりで、なかなか面白かったりもします。
ひとつのソフトが開発される過程など、滅多に知ることのできない裏舞台です。
ぜひぜひ頻繁に、状況報告入れてくださいね。
楽しみにしています。 (Jul 4, 2007 11:00:16 PM)

何とか頑張ってます  
ac_knight  さん
1号機さん
保守容易性を上げるのは重要ですよね!コメントもしかり。
バグが出た時に原因や修正箇所を特定しやすくするのはすごく大事ですよね。
それを考えてデザインしようと思います。何度もクラス構造を変えながら試行錯誤
してます。やっと手動売買についてはそこそこ動くようになってきました。
自動売買はまだまだですが。
(Jul 7, 2007 10:26:52 AM)

マニアックな内容は  
ac_knight  さん
Coo0701さん
マニアックな内容は、自分の作業日記みたいな意味と、このブログを見ている
会社のメンバーに具体的な説明をするためです。
本当に皆さんに伝えるならプログラムソースの一部を貼り付けるかクラス図でも作って
公開したら良いのですが、早く作りたい一心で後回しです(笑)。
大した事は出来ませんが進捗はなるべくこまめに報告しようと思っています。
もしVBで開発されている方が居て質問されたらソースを公開するなりして
対応はしたいと思っています。ただなにぶん自分も初心者ですので答えられない
可能性も大なんですけどね(^-^;
(Jul 7, 2007 10:31:53 AM)

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: