Java Language Obtenir le corps de la réponse à partir d'une URL en tant que chaîne


Exemple

String getText(String url) throws IOException {
    HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
    //add headers to the connection, or check the status if desired..
    
    // handle error response code it occurs
    int responseCode = conn.getResponseCode();
    InputStream inputStream;
    if (200 <= responseCode && responseCode <= 299) {
        inputStream = connection.getInputStream();
    } else {
        inputStream = connection.getErrorStream();
    }

    BufferedReader in = new BufferedReader(
        new InputStreamReader(
            inputStream));

    StringBuilder response = new StringBuilder();
    String currentLine;

    while ((currentLine = in.readLine()) != null) 
        response.append(currentLine);

    in.close();

    return response.toString();
}

Cela téléchargera les données textuelles de l'URL spécifiée et les renverra sous forme de chaîne.

Comment ça marche:

  • Tout d'abord, nous créons un HttpUrlConnection partir de notre URL, avec une new URL(url).openConnection() . Nous UrlConnection le UrlConnection retourne en HttpUrlConnection , nous avons donc accès à des choses comme l'ajout d'en-têtes (tels que User Agent) ou la vérification du code de réponse. (Cet exemple ne le fait pas, mais c'est facile à ajouter.)

  • Ensuite, créez InputStream en InputStream basant sur le code de réponse (pour la gestion des erreurs)

  • Ensuite, créez un BufferedReader qui nous permet de lire le texte de InputStream nous recevons de la connexion.

  • Maintenant, nous ajoutons le texte à StringBuilder , ligne par ligne.

  • Fermez le InputStream et retournez la chaîne que nous avons maintenant.

Remarques:

  • Cette méthode lancera une IoException en cas d’échec (telle qu’une erreur réseau ou aucune connexion Internet) et IoException une IoException MalformedUrlException non MalformedUrlException si l’URL indiquée n’est pas valide.

  • Il peut être utilisé pour lire n'importe quelle URL qui renvoie du texte, comme les pages Web (HTML), les API REST qui renvoient JSON ou XML, etc.

  • Voir aussi: Lire l'URL de la chaîne dans quelques lignes de code Java .

Usage:

Est très simple:

String text = getText(”http://example.com");
//Do something with the text from example.com, in this case the HTML.