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