Scraper avec Java

Le client java.net.http.HttpClient (Java 11+) appelle WyndPath sans dépendance externe.

Premier appel

import java.net.URI;
import java.net.http.*;

var url = "https://api.wyndpath.com/v1/?api_key=VOTRE_CLE"
        + "&url=https://exemple.com";

var client = HttpClient.newHttpClient();
var req = HttpRequest.newBuilder(URI.create(url)).build();
HttpResponse<String> resp = client.send(req, HttpResponse.BodyHandlers.ofString());

System.out.println(resp.statusCode());   // code HTTP de la cible
System.out.println(resp.body());         // contenu brut

Rendu JavaScript et pays

var url = "https://api.wyndpath.com/v1/?api_key=VOTRE_CLE"
        + "&url=https://exemple.com"
        + "&render_js=1&country=fr&max_cost=15";

Lire les crédits

System.out.println(resp.headers().firstValue("x-wyndpath-credits").orElse("-"));

Requête POST

var url = "https://api.wyndpath.com/v1/?api_key=VOTRE_CLE&url=https://exemple.com/api";
var req = HttpRequest.newBuilder(URI.create(url))
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString("{\"q\":\"pikachu\"}"))
    .build();
HttpResponse<String> resp = client.send(req, HttpResponse.BodyHandlers.ofString());

Gérer les erreurs

if (resp.statusCode() == 200) {
    String html = resp.body();
} else {
    System.err.println("Erreur " + resp.statusCode() + " : " + resp.body());
}
✓ Payé au succès. Un appel qui échoue ne consomme aucun crédit.