質問: javaアプリケーションからブラウザ(IE、Chromeなど)を起動して指定のwebページを表示させるアプリを作っています。 指定のwebページですがPOSTでパラメータを受け取るようにしているのですが、アプリケーションからPOSTでパラメータを送りつつ、webページにアクセスさせることは可能でしょうか? ただブラウザを起動してwebページを表示させることならできるのですが、パラメータを送りつつというと手段がわかりませんでした。 VisualC#での方法では解決できたのですが、環境のこともありできればjavaアプリケーションで開発したいと考えています。 またGETではパラメータが見えてしまう可能性があるためできれば避けたいです。
回答: c#でも同様にできるはず、未確認ですが。 java では以下の方法で動作確認しました。 1.ジャバアプリ起動 2.ブラウザ起動ボタン押下 2.1 ボタンのイベントハンドラ内で、サーバーソケットでブラウザからのリクエストを待つスレッドを起動、開始し、localhost:10000 でリクエスト待ち。プロセスビルダーで、firefox を起動、 2.2 ブラウザ起動時にコマンドラインオプションで、post.html を指定、post.htmlの onload でajax で、localhost:10000 へリクエストを投下。 2.3 サーバーソケットがブラウザからのリクエストを受信、ジャバアプリの画面内容から、ブラウザに返却する json データを作成して、レスポンスで送信。このとき、クロスブラウザ違反にならないように、access-control-allow-origin ヘッダを付ける。 2.4 ブラウザの、ajax#success コールバックで json データを取得して、ブラウザに表示して完了。 ブラウザとジャバアプリ間通信はパケットキャプチャを懸念するなら、https を使ってください。オレオレで十分かと。 ソースが ジャバぐいとAJAXで200行以上掛かったので、ここには説明だけでスミマセン。