ログイン画面を持つJavaアプリケーションを作成しています。理想的には、ユーザーが入力したデータ(名前、パスワード)を取得し、資格情報を確認できるASPフォームに送信したいと考えています。私はASPフォームを所有していない、私はURLにのみアクセスすることができます。また、ユーザーが自分の資格情報をWebフォームに直接入力しないようにする必要があります。彼らは私のプログラムに資格情報を入力し、私のプログラムはデータをフォームに入れて送信し、その応答に基づいてユーザーを許可/拒否します。JavaアプリケーションからASPフォームを送信する
もちろん、ASPフォームの送信ボタンはPOSTリクエストです。 。
:しかし、フォームを充填テキストボックスとボタンを経由して提出しなければならないとして、動作しない(?...ログインユーザー名=名&パスワード=パス)URLを構築私は2つのアプローチを試してみました
JavaのURLConnectionクラスを使用します。これは、フォームの送信がURLを構成している上記の方法に限定されているため、うまくいかないようです。
ページ上の要素にアクセスして編集するためにJavaScriptを使用します。 Javascriptがウェブブラウザではない私のプログラムから実行されているので、これは一般的に使用される '文書'または 'ウィンドウ'へのアクセス権がないため、これはどちらもうまくいきません。私は考えることができる
その他の潜在的な解決策:
は、ログインページにブラウザを開くが、それは焦点を当てて与えていない、記入フォームを送信するスクリプトを実行し、応答を解析し、ブラウザを閉じます。これには、Javaプログラムのログインページへの入力を除いて、ユーザーはまったく関与しません。
サードパーティのJavaライブラリを使用しています(チュートリアルへの参照?)。
ログイン画面にURLを埋め込む(この点に関する助けとなります)。
私のプログラムはJavaであり、ログインURLはPOSTデータをURLから隠すASPフォームです。
明確化が必要な場合は教えてください。どんな助けも歓迎です。
'... login?username = name&password = pass' - パスワードはその通話を傍受しているか誰かが見ることができるので、決して行うべきではありません。ウェブサーバーのログファイルへのアクセス。 – Thomas
@トーマスええ、私は同意する、私はちょうど何がうまくいくのか見てみようとしていた。 Webフォームが安全であるため、フォームを記入して私のプログラムから直接提出することができれば、はるかに良いでしょう。 – user1323854
AFAIKあなたは 'URLConnection'を使ってPOSTリクエストを提出することができます。URLの代わりにリクエスト本体にパラメータを置くだけです(接続用のライターを作成し、それにパラメータを書き込む)。 – Thomas