重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

競馬(JRA)のインターネット投票サイトのIPATから、出馬表やオッズなどのデータを取り込むプログラムを作りたいのですが、途中で行き詰ってしまいました。どなたか分かる方いらっしゃいましたら、ご教授願います。

現在、次のようなコードで通信を試みています。

  Dim http As New MSXML2.XMLHTTP30Class
  Dim str As String

  http.open("POST", "https://www.ipat.jra.go.jp/pw_080_i.cgi", False)
  http.send("g=Mnu02&i=******")

   (******は、IDが入ります。)

これを実行すると、【JavaScript対応のブラウザでアクセスするか、JavaScriptを有効にしてアクセスしてください。】のようなメッセージが帰ってきます。

VBで、IPATにアクセスする方法は無いのでしょうか?

ちなみにVisualBasic2008を、WinXP Pro sp3 で使っています。

A 回答 (2件)

VB2008なら普通にSystem.Net.HttpWebRequestを使用したらいかがですか?

この回答への補足

早速のご回答ありがとうござます。
こちらの方法が普通なのですね。自分はネットを使って独学でやっているものですから、検索にヒットした、質問での方法しか知りませんでした。
今、"System.Net.HttpWebRequest"で検索したところ、一読して理解できなかったのですが、じっくり読み込んで、この方法を試してみたいと思います。
"IPAT"は、競馬開催日しかアクセスできないので、早くても週末、理解が及ばなければ、かなり時間が掛かるかも知れませんが、結果をご報告いたします。

補足日時:2011/02/02 06:31
    • good
    • 0
この回答へのお礼

自分なりにSystem.Net.HttpWebRequestを調べてみましたが、きちんと理解することができませんでした。でも、なんとなく書いたコードで通信には成功しましたが、やはりJavaScriptウンヌンのエラーになってしまいました。
そこで、もう一度web側のソースを調べ直してみると、POSTしていたデータが間違っているようでした。
改めて、POSTデータを書き直すと、System.Net.HttpWebRequest, MSXML2.XMLHTTP30Class のどちらでも正常なデータを取得することができました。

お騒がせして、すみませんでした。また、ご指導ありがとうございました。

お礼日時:2011/02/05 22:16

この回答への補足

早速のご回答ありがとうございます。当初、IEを操作して、情報を取得する方法を考えていましたが、情報を取得した後、IEに表示されるまで時間が掛かるので、直接、情報だけを取得できないものかと考えました。
WebBrowserコントロールを使った場合、IEを操作するより早くできるのか、今度試してみます。時間が掛からなければ、この方法は、自分のレベルでも扱えそうなので、この方法で組んでみたいです。

補足日時:2011/02/02 06:24
    • good
    • 0
この回答へのお礼

一応解決いたしました。ご指導ありがとうございました。

お礼日時:2011/02/05 22:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!