Le type DefaultHttpClient est obsolète

Le type DefaultHttpClient est obsolète

Eclipse IDE affiche un avertissement surnew DefaultHttpClient, marquez cette classe comme obsolète.

package com.example.web.controller;

import org.apache.http.Header;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

public class WebCrawler {

    public static void main(String[] args) throws Exception {

        HttpClient client = new DefaultHttpClient();
        HttpGet request = new HttpGet("/");
        HttpResponse response = client.execute(request);
        //...

    }

}

Solution

Plongez dans le code source, consultez ces commentaires:

DefaultHttpClient.java

 * @deprecated (4.3) use {@link HttpClientBuilder}.
 */
@ThreadSafe
@Deprecated
public class DefaultHttpClient extends AbstractHttpClient {
    //...

Pour le résoudre, utilisezHttpClientBuilder:

package com.hostingcompass.web.controller;

import org.apache.http.Header;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;

public class WebCrawler {

    public static void main(String[] args) throws Exception {

        HttpClient client = HttpClientBuilder.create().build();
        HttpGet request = new HttpGet("/");
        HttpResponse response = client.execute(request);
        //...

    }

}