プロが教える店舗&オフィスのセキュリティ対策術

Win32API(InternetOpen,InternetOpenURLなど)を使用して取得したHMTL内の[submit]ボタンをプログラム上から直接実行したいのですが、どうのようにしたら良いのでしょうか?

BrowserコンポーネントやIEを使用して[submit]ボタンをクリックさせる等のやり方ではなく、APIを使用して直接実行するようなやり方を教えてください。

環境はDelphi6を使用しています。

よろしくお願いします!

A 回答 (2件)

Submitボタンの上位にある<FORM>タグのmethodがPOSTかGETかを見てactionに書かれているアドレスにTELNETで接続してHTTP手順でメッセージを書き込めばよい。


書き込み値は<FORM>タグ以下の<input>タグのnameとvalue。
HTTPのPOSTリクエストの手順はRFC2616で規定されています。
PROXYを通す場合と通さない場合でリクエスト手順が異なりますので要注意。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

現在、テストで実行しているページの<FORM>タグは以下ようになっています。<form name="frmMain" method="POST" action="">
[Submit]ボタンの実行処理は<input>タグ内の[onClick]にJavascript関数を当て込んで実行しているようなのですが、当方では[Submit]ボタンを実行する事で当て込まれているJavascript関数を実行したいと考えているのですが、どうでしょう?
可能でしょうか?

よろしくお願いします。

お礼日時:2007/10/19 12:48

要求が矛盾しています。


1)BrowserコンポーネントやIEを使用して[submit]ボタンをクリックさせる等のやり方ではなく、APIを使用して直接実行するようなやり方
2)[Submit]ボタンを実行する事で当て込まれているJavascript関数を実行したい
結局IEコンポーネントを利用したいのかしたくないのかわかりません。
IEコンポーネントを利用したくないのであればJavaスクリプトの互換機能を自分で実装するしかありません。
    • good
    • 0
この回答へのお礼

2度のご回答ありがとうございます。

-->要求が矛盾しています。
そうですね。質問の仕方が良くありませんでした。

具体的には、
InternetOpen、
InternetConnect、
HttpOpenRequest、
HttpSendRequest
でHTTPのPOST命令を実行するところまで行き着きましたが、
その場合に、指定のJavascript関数をPOST命令として送る方法はありますでしょうか?

よろしくお願いします。

お礼日時:2007/10/23 19:01

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