2017-07-19 8 views
0

HttpClientを終了するには?メソッドが見つかりません。DefaultHttpClientから猶予して終了

HttpClient Client = new DefaultHttpClient(); 
String userpass = usr + ":" + pwd; 

HttpPost httpGet = new HttpPost(dataimport_cmd); 
String encoding = DatatypeConverter.printBase64Binary(userpass.getBytes("UTF-8")); 
httpGet.setHeader("Authorization", "Basic " + encoding); 

Client.execute(httpGet); 

実行をcloseablehttpresponseに囲みましたが、クラスから終了しませんでした。

CloseableHttpResponse response = (CloseableHttpResponse) 
Client.execute(httpGet); 
response.close(); 

戻り値を使用してクラスを終了しようとしました。

return;

+0

なぜ廃止予定のクラスを使用していますか?あなたは廃止された問題について多くの助けを見つけることはありません –

+0

hmmmm。通常私が使用しているIDEはそれを示します。新しいクラスをチェックさせてください – user3286012

答えて

0

httpクライアントのバージョンが4.3より高い場合は、HttpClientの代わりにCloseableHttpClientを使用できます。それはclose()メソッドを持っています。

CloseableHttpClient client = new DefaultHttpClient(); 
... 
client.close(); 
+0

ありがとうございます。実際に私はこのアプローチを行ったが、まだ終了していない。以前のコメントはdepracatedクラスを使用しないことを提案したので、私はdefaulthttpclientを使用しませんでしたが。 CloseableHttpClientクライアント= HttpClientBuilder.create()。ビルド(); \t HttpPost httpGet =新しいHttpPost(dataimport_cmd); \t文字列エンコーディング= DatatypeConverter.printBase64Binary(userpass.getBytes( "UTF-8")); \t httpGet.setHeader( "Authorization"、 "Basic" + encoding); \t \t client.execute(httpGet); \t \t client.close(); – user3286012

+0

実際にあなたのソースコードは正しいですし、私のために働いています。しかし、私が192.168.3.66がダウンしている "http://192.168.3.66:80"のようなURLを使用すると、アプリケーションはtimeoutまでclient.execute()呼び出しを待機しています。あなたは同様の状況があるかもしれません。 – taner

関連する問題