0

URLを介してサーバーにリクエストを送信し、サーバーからの応答も受信できるクラスを作成しようとしています。

私はHttpClientを調査してきましたが、さまざまなユーザーからのさまざまな種類のHttpClientオブジェクトがたくさんあるようです。どちらを使うべきかわかりません。可能であれば、Apacheオブジェクトを使用したいと思います。

要件:

getメソッドを使用してURLを介してリクエストを送信できる必要があります。これにはHttpMethodを使用したいと思います。getメソッドまたはpostメソッドのいずれかにフォームを送信できる必要があります。応答からCookieを取得して保存し、それらのCookieを要求ヘッダーで送信できる必要があります。リファラーヘッダーをスプーフィングする機能も役立ちます。

私がやろうとしていることのいくつかのサンプルコード:

String searchURL = //however I'm generating the search URL
String responeAsString = "";
HttpClient client = new HttpClient(new MultiThreadedConnectionManager());
client.getHttpConnectionManager().getParams().setConnectionTimeout(30000);
HttpMethod method = new GetMethod(searchURL);

try{
    client.executeMethod(method);
    responseAsString = method.getResponseBodyAsString();
}catch (Exception e){
    //error fixing code
}

responseAsStringを実際のHttpResponseオブジェクトに置き換えたいのですが、jarファイルをダウンロードする場所のリソースを見つけることができませんでした。

提案したオブジェクトの.jarファイルをダウンロードする場所へのリンクを含めることができれば、それは素晴らしいことです。

ありがとうございました!

4

3 に答える 3

0

Java HTTPクライアントの比較は、http://oaklandsoftware.com/product_http/compare.htmlにあります。

必要条件は基本的なように見えるので、HttpResponseオブジェクトに関する最後のライブラリを除いて、すべてのライブラリでサポートされている必要がありますが、Apacheライブラリを使用すると、HttpMethodから応答の本文、ヘッダー、フッターを取得できます。これで十分です。他の図書館も同様のものを提供するはずだと私は思います。

于 2012-08-30T15:32:02.957 に答える
0

Apache Default Http Client バージョン 4 で要求したことはすべて実行でき、応答文字列を任意の有効な HTTPResponse オブジェクトに変更できます。リファラー ヘッダーを含む、リクエストとレスポンスのすべてのヘッダーを変更できます。ヘッダー名だけを知っていれば、それを置き換えることができます。

ライブラリはhttp://hc.apache.org/httpcomponents-client-ga/で入手できます。

必ずバージョン 4 を入手してください。

使用方法に関するガイドは、http: //hc.apache.org/httpcomponents-client-ga/tutorial/html/で入手できます。

使用できるリクエスト ヘッダーとレスポンス ヘッダーのリストは、次の URL で見つけることができます。キーワード「http レスポンス ヘッダー」を Google 検索で指定した最初のリンク - wiki 記事。

楽しみ!!

于 2012-08-30T16:40:11.730 に答える
0

これは少しやり過ぎかもしれませんが、オープン ソース プロジェクトの GWT https://developers.google.com/web-toolkit/を見てみたいと思います。

サーバーと通信するサンプルアプリケーションがあり、それがどのように機能するかを見ることができました。

幸運を

于 2012-08-30T15:25:25.950 に答える