以前の同僚から「継承」した Java コードがいくつかあります。その一部はメソッド GET を使用して外部 URL に接続し、解析のために少量の XML を取得します。最近、ベンダーの Web サイトがハングしてリソースを使い果たしているため、この接続で Web サイトがクラッシュするという問題が発生しています。1 つの問題は、コードで HttpGet オブジェクトを使用するときにタイムアウトが設定されていないことが原因です。このオブジェクトを使用してタイムアウトを微調整する方法はありますか、またはこの XML を元に戻すより良い方法はありますか?
別の API を使用したほうがよいでしょうか?
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("param1","foobar"));
URI uri = URIUtils.createURI("http", "myhost.com", -1, "mypath",
URLEncodedUtils.format(params, "UTF-8"), null);
// there is no timeout here??
HttpGet httpGet = new HttpGet(uri);
HttpClient httpClient = new DefaultHttpClient();
HttpResponse httpResponse = httpClient.execute(httpGet);
String result = IOUtils.toString(httpResponse.getEntity()
.getContent(), "UTF-8");
ありがとう!