[Java] Acquisition de contenu avec HttpCliient

Obtenez du contenu avec HTTP

module-info.java


module selflearn{
  requires java.net.http;
}
//Accédez à Qiita pour obtenir du contenu
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Main {
  public static void main(String[] args) {
    try {
      //Génération de client HTTP
      var client = HttpClient.newHttpClient();
      //Demande de préparation
      var req = HttpRequest.newBuilder()
        .uri(URI.create("https://qiita.com/"))
        .build();
      //Avoir une réponse
      var res = client.send(req, HttpResponse.BodyHandlers.ofString());
      System.out.println(res.body());
      //<!DOCTYPE html><html><head><meta charset="utf-8" /><title>Qiita</title><meta content="Qiita est un service de partage d'informations techniques pour les programmeurs. Enregistrez facilement des conseils de programmation, du savoir-faire et des notes&amp;amp;Vous pouvez le publier."(Abréviation)
    } catch (IOException | InterruptedException e) {
      e.printStackTrace();
    }
  }
}

Transmission de requête asynchrone

//Obtenir une réponse par traitement asynchrone
client.send(req, HttpResponse.BodyHandlers.ofString())
.thenAccept(response -> {
  System.out.println(response.body());
});

Communication de données HTTP POST

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Main {
  public static void main(String[] args) throws IOException, InterruptedException {
    var client = HttpClient.newHttpClient();
    //Recevoir la clé de nom et générer une chaîne
    var req = HttpRequest.newBuilder()
      .uri(URI.create("https://www.sample/post.php")) //"Bonjour,!"
      .header("Content-Type","application/json")
      .POST(HttpRequest.BodyPublishers.ofString(
         "{ \"name\" : \"Qiita Neko\" }")) 
      .build();
    var res = client.send(req, HttpResponse.BodyHandlers.ofString());
    System.out.println(res.body()); //Bonjour, Qiita Neko-san!
  }
}

post.php


<?php
$data = json_decode(file_get_contents('php://input'));
print ('Bonjour,'.$data->name.'San!');

Recommended Posts

[Java] Acquisition de contenu avec HttpCliient
[Java] Communication JSON avec jackson
[Java] Acquisition de contenu avec HttpCliient
Changer de siège avec Java
Installez Java avec Ansible
Téléchargement confortable avec JAVA
Téléchargement Java avec Ansible
Raclons avec Java! !!
Construire Java avec Wercker
Conversion Endian avec JAVA
(Java) BDD facile avec Spectrum?
Utiliser des couches Lambda avec Java
Créer un multi-projet Java avec Gradle
Premiers pas avec Java Collection
Contenu d'apprentissage de base Java 7 (exception)
Configuration Java avec Spring MVC
Authentification de base avec Java 11 HttpClient
Expérimentons l'expansion en ligne Java
Exécuter un lot avec docker-compose avec Java batch
[Template] Connexion MySQL avec Java
Réécrire Java try-catch avec facultatif
Installez Java 7 avec Homebrew (cask)
[Java] Communication JSON avec jackson
Java pour jouer avec Function
Essayez la connexion DB avec Java
Contenu d'apprentissage de base Java 5 (qualificatif)
[Java] JavaConfig avec classe interne statique
Essayez gRPC avec Java, Maven
Exploitons Excel avec Java! !!
Gestion des versions Java avec SDKMAN
Cryptage / décryptage RSA avec Java 8
Pagination de PDF avec Java + PDFBox.jar
Trier les chaînes comme une fonction caractéristique avec Java
Orienté objet avec Strike Gundam (java)
Gestion des versions Java avec jenv
Dépannage avec Java Flight Recorder
Rationalisez les tests Java avec Spock
Connectez-vous à DB avec Java
Connectez-vous à MySQL 8 avec Java
Erreur lors de la lecture avec java
Utilisation de Mapper avec Java (Spring)
Mémo d'étude Java 2 avec Progate
Premiers pas avec les bases de Java
Affichage saisonnier avec commutateur Java
Utiliser SpatiaLite avec Java / JDBC
Étudier Java avec Progate Note 1
Comparez Java 8 en option avec Swift
Analyse HTML (scraping) avec JAVA
Contenu d'apprentissage de base Java 8 (API Java)
Exécuter Java VM avec Web Assembly
Contenu d'apprentissage de base Java 4 (répétition)
Transition d'écran avec swing, java
Test unitaire Java avec Mockito
[Java 8] Suppression en double (et vérification en double) avec Stream
Créer une classe immuable avec JAVA
Expression lambda Java apprise avec Comparator
Construire un projet Java avec Gradle
Installer Java avec Docker basé sur Ubuntu 16.04
Analyse morphologique en Java avec Kuromoji
Utiliser java avec MSYS et Cygwin
BDD Java 100% pur avec JGiven (Introduction)