- ベストアンサー
[submit]ボタンの実行
Win32API(InternetOpen,InternetOpenURLなど)を使用して取得したHMTL内の[submit]ボタンをプログラム上から直接実行したいのですが、どうのようにしたら良いのでしょうか? BrowserコンポーネントやIEを使用して[submit]ボタンをクリックさせる等のやり方ではなく、APIを使用して直接実行するようなやり方を教えてください。 環境はDelphi6を使用しています。 よろしくお願いします!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Submitボタンの上位にある<FORM>タグのmethodがPOSTかGETかを見てactionに書かれているアドレスにTELNETで接続してHTTP手順でメッセージを書き込めばよい。 書き込み値は<FORM>タグ以下の<input>タグのnameとvalue。 HTTPのPOSTリクエストの手順はRFC2616で規定されています。 PROXYを通す場合と通さない場合でリクエスト手順が異なりますので要注意。
その他の回答 (1)
- buriburi3
- ベストアンサー率44% (353/792)
要求が矛盾しています。 1)BrowserコンポーネントやIEを使用して[submit]ボタンをクリックさせる等のやり方ではなく、APIを使用して直接実行するようなやり方 2)[Submit]ボタンを実行する事で当て込まれているJavascript関数を実行したい 結局IEコンポーネントを利用したいのかしたくないのかわかりません。 IEコンポーネントを利用したくないのであればJavaスクリプトの互換機能を自分で実装するしかありません。
お礼
2度のご回答ありがとうございます。 -->要求が矛盾しています。 そうですね。質問の仕方が良くありませんでした。 具体的には、 InternetOpen、 InternetConnect、 HttpOpenRequest、 HttpSendRequest でHTTPのPOST命令を実行するところまで行き着きましたが、 その場合に、指定のJavascript関数をPOST命令として送る方法はありますでしょうか? よろしくお願いします。
お礼
ご回答ありがとうございます。 現在、テストで実行しているページの<FORM>タグは以下ようになっています。<form name="frmMain" method="POST" action=""> [Submit]ボタンの実行処理は<input>タグ内の[onClick]にJavascript関数を当て込んで実行しているようなのですが、当方では[Submit]ボタンを実行する事で当て込まれているJavascript関数を実行したいと考えているのですが、どうでしょう? 可能でしょうか? よろしくお願いします。