1

あるWebページから情報を取得して別のWebページに入力するプログラムを作成しています。元のページを解析して情報を取得することは問題ありませんが、その情報をテキストファイルからテキストフィールドに取得する方法がわかりません。スクリプトを使用して別のWebサイトの グーグルは助けていないので、これはジャバで行うことができますか?

4

2 に答える 2

2

これを行うために取ることができる2つのルートがあります:

1) HttpClientなどのライブラリを使用して、収集した情報をWebサイトに直接投稿します。

2) SeleniumなどのWebテストフレームワークを使用して、ブラウザーと対話し、フォームに入力します。

オプション1は、これまでで最も堅牢で最速ですが、(2)ターゲットが依存する可能性のあるクライアント側のコード(javascript)を利用してみましょう。

于 2012-06-30T09:04:32.417 に答える
1

プログラムでJavaでフォームを送信する方法が問題の場合は、Apache HTTPコンポーネントクライアントを検討することをお勧めします。これは、すべてのハードワークを実行するクラスライブラリです。

ドキュメントは非常に優れているので、最初に少なくとも彼らのチュートリアルを読むことをお勧めしますが、変数userとpasswordを使用してフォームをPOSTする方法を示す、彼らのWebサイトから借りた小さなコードフラグメントを次に示します。

PostMethod post = new PostMethod("http://jakarata.apache.org/");
NameValuePair[] data = {
  new NameValuePair("user", "joe"),
  new NameValuePair("password", "bloggs")
};
post.setRequestBody(data);
// execute method and handle any error responses.
...
InputStream in = post.getResponseBodyAsStream();
// handle response.

さて、私はMarijnとJaredに同意します。これがワンショットの場合、おそらくそれだけの価値はありません。たとえば、cURLやSeleniumを使用したクリエイティブなスクリプトを使用すると、問題を解決するためのはるかに高速な方法になります。

于 2012-06-30T09:02:48.487 に答える