私は単純なHttpClient
プログラムを書こうとしています。 私がHttpClient
で作業しているのは初めてですが、どのジャーを含めるのかはかなり混乱しています。利用可能なさまざまなHttpClientの違いは何ですか?
私は、クライアントオブジェクト
package com.comverse.rht;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.URI;
import org.apache.commons.httpclient.URIException;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
public class HttpClientTest {
public static void main(String[] args) throws URIException {
URI url = new URI("http://www.google.com/search?q=httpClient");
HttpClient client = new HttpClient();
GetMethod get = new GetMethod();
PostMethod post = new PostMethod();
String responseString;
StringBuilder sb = new StringBuilder();
String line;
// add request header
get.setURI(url);
get.addRequestHeader("User-Agent", "shaiksha429");
try {
int respCode = client.executeMethod(get);
System.out.println("Response Code:" +respCode);
System.out.println(
"PCRF HTTP Status" + HttpStatus.getStatusText(respCode)
);
responseString = get.getResponseBodyAsString();
BufferedReader rd = null;
rd = new BufferedReader(
new InputStreamReader(get.getResponseBodyAsStream())
);
while ((line = rd.readLine()) != null) {
sb.append(line + '\n');
}
System.out.println(sb);
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
で異なる方法を参照してくださいしかし、私はグーグルたときに、私は以下のように異なるの例を参照してくださいHttpClient
オブジェクトを作成するとき、私はこれらのものとapache-httpcomponents-httpclient.jar
とorg.apache.commons.httpclient.jar
が含まれています。両者の違いは何ですか?なぜHttpClient
に「実行」があり、もう1つに「executeMethod
」があるのですか?どちらを使用する必要がありますか?
String url = "http://www.google.com/search?q=httpClient";
HttpClient client = HttpClientBuilder.create().build();
HttpGet request = new HttpGet(url);
// add request header
request.addHeader("User-Agent", USER_AGENT);
HttpResponse response = client.execute(request);
System.out.println("Response Code : " + response.getStatusLine().getStatusCode());
BufferedReader rd = new BufferedReader(
new InputStreamReader(response.getEntity().getContent())
);
StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
result.append(line);
}
なぜ最新のバージョンを使用するだけではないのですか? – Andreas
私は、各HttpClientが異なるメソッドセットを持っているいくつかのjarファイルを試しました。 "post"という名前のメソッドがあり、他のメソッドは "PostMethod"という名前のメソッドを持っています – shaiksha
@Andreas:最新バージョンどのような依存関係を含める必要がありますか? – shaiksha