JAVA-HILFE

Google HTTP-Client-Bibliothek für Java (Wie sie für Entwickler funktioniert)

Veröffentlicht 29. September 2024
Teilen Sie:

Die Google HTTP-Client-Bibliothek für Java ist eine robuste Bibliothek, die entwickelt wurde, um den Prozess der Erstellung von HTTP-Anfragen und der Verarbeitung von Antworten in Java-Anwendungen zu vereinfachen. Es ist Teil der Google-App-Engine und des Google-API-Clients als Teil der Google-APIs. Diese leistungsstarke Java-Bibliothek, die von Google entwickelt und gepflegt wird, unterstützt eine breite Palette von HTTP-Methoden und integriert sich nahtlos mit JSON-Datenmodellen und XML-Datenmodellen, was sie zu einer ausgezeichneten Wahl für Entwickler macht, die mit Webservices interagieren möchten. Zusätzlich werden wir untersuchen IronPDF für Java und zeigen, wie es integriert werden kann mit Google HTTP Client-Bibliothek um PDF-Dokumente aus HTTP-Antwortdaten zu generieren.

Hauptmerkmale

  1. Vereinfachte HTTP-Anfragen: Die Bibliothek abstrahiert einen Großteil der Komplexität bei der Erstellung und dem Versenden von HTTP-Anfragen, wodurch es Entwicklern einfacher gemacht wird, damit zu arbeiten.

  2. Unterstützung für verschiedene Authentifizierungsmethoden: Es unterstützt OAuth 2.0 und andere Authentifizierungsschemata, was für die Interaktion mit modernen APIs unerlässlich ist.

  3. JSON und XML Parsing: Die Bibliothek kann JSON- und XML-Antworten automatisch in Java-Objekte parsen, was Boilerplate-Code reduziert.

  4. Asynchrone Anfragen: Es unterstützt asynchrone Anfragen, die die Anwendungsleistung verbessern können, indem Netzwerksoperationen in Hintergrundthreads ausgelagert werden.

  5. Integrierter Wiederholungsmechanismus: Die Bibliothek umfasst einen integrierten Wiederholungsmechanismus zur Behandlung vorübergehender Netzwerkfehler, der zur Verbesserung der Robustheit von Anwendungen beitragen kann.

    1. Stabilität und Wartung: Die Bibliothek bietet stabile und keine Beta-Funktionen, die eine zuverlässige Leistung in Produktionsumgebungen gewährleisten.

    Google HTTP Client-Bibliothek für Java (Wie es für Entwickler funktioniert): Abbildung 1 - Google HTTP Client-Bibliothek Java-Startseite

Einrichten der Google HTTP Client Library für Java

Um die Google HTTP-Clientbibliothek für Java zu verwenden, müssen Sie die vollständige Clientbibliothek und die erforderlichen Abhängigkeiten zu Ihrem Projekt hinzufügen. Wenn Sie Maven verwenden, können Sie die folgenden Abhängigkeiten zu Ihrer pom.xml-Datei hinzufügen:

<dependencies>
    <dependency>
        <groupId>com.google.http-client</groupId>
        <artifactId>google-http-client</artifactId>
        <version>1.39.2</version>
    </dependency>
    <dependency>
        <groupId>com.google.http-client</groupId>
        <artifactId>google-http-client-jackson2</artifactId>
        <version>1.39.2</version>
    </dependency>
</dependencies>
<dependencies>
    <dependency>
        <groupId>com.google.http-client</groupId>
        <artifactId>google-http-client</artifactId>
        <version>1.39.2</version>
    </dependency>
    <dependency>
        <groupId>com.google.http-client</groupId>
        <artifactId>google-http-client-jackson2</artifactId>
        <version>1.39.2</version>
    </dependency>
</dependencies>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<dependencies> <dependency> <groupId> com.google.http-client</groupId> <artifactId> google-http-client</artifactId> <version>1.39.2</version> </dependency> <dependency> <groupId> com.google.http-client</groupId> <artifactId> google-http-client-jackson2</artifactId> <version>1.39.2</version> </dependency> </dependencies>
VB   C#

Grundlegende Verwendung

Lassen Sie uns die grundlegende Verwendung der Google HTTP Client Library für Java anhand verschiedener Beispiele erkunden.

1. Eine einfache GET-Anfrage durchführen

Der folgende Code zeigt, wie man eine vollständige Anfrage mit einem einfachen GET-Request unter Verwendung der Google HTTP Client Library durchführt:

import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpRequestFactory;
import com.google.api.client.http.HttpResponse;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.http.GenericUrl;
public class HttpClientExample {
    public static void main(String[] args) {
        try {
            HttpRequestFactory requestFactory = new NetHttpTransport().createRequestFactory();
            GenericUrl url = new GenericUrl("https://jsonplaceholder.typicode.com/posts/1");
            HttpRequest request = requestFactory.buildGetRequest(url);
            HttpResponse response = request.execute();
            System.out.println(response.parseAsString());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpRequestFactory;
import com.google.api.client.http.HttpResponse;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.http.GenericUrl;
public class HttpClientExample {
    public static void main(String[] args) {
        try {
            HttpRequestFactory requestFactory = new NetHttpTransport().createRequestFactory();
            GenericUrl url = new GenericUrl("https://jsonplaceholder.typicode.com/posts/1");
            HttpRequest request = requestFactory.buildGetRequest(url);
            HttpResponse response = request.execute();
            System.out.println(response.parseAsString());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Public Class HttpClientExample
	Public Shared Sub main(ByVal args() As String)
		Try
			Dim requestFactory As HttpRequestFactory = (New NetHttpTransport()).createRequestFactory()
			Dim url As New GenericUrl("https://jsonplaceholder.typicode.com/posts/1")
			Dim request As HttpRequest = requestFactory.buildGetRequest(url)
			Dim response As HttpResponse = request.execute()
			System.out.println(response.parseAsString())
		Catch e As Exception
			e.printStackTrace()
		End Try
	End Sub
End Class
VB   C#

In diesem Beispiel erstellen wir eine HttpRequestFactory und verwenden sie, um eine GET-Anfrage an eine Platzhalter-API zu erstellen und auszuführen. Wir verwenden hier einen Try-Catch-Block, um die Häufigkeit von Kompilierungsfehlern zu verringern, indem wir die Ausnahme abfangen, falls die Anfrage fehlschlägt. Wir drucken dann die Antwort auf die unten gezeigte Konsole.

Google HTTP Client Library für Java (So funktioniert es für Entwickler): Abbildung 2 - Konsolenausgabe der obigen Beispielantwort

2. Eine POST-Anfrage mit JSON-Daten stellen

Der folgende Code zeigt, wie man eine POST-Anfrage mit JSON-Daten erstellt:

import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpRequestFactory;
import com.google.api.client.http.HttpResponse;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.http.GenericUrl;
import com.google.api.client.http.json.JsonHttpContent;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson2.JacksonFactory;
import java.util.HashMap;
import java.util.Map;
public class HttpClientExample {
    public static void main(String[] args) {
        try {
            HttpRequestFactory requestFactory = new NetHttpTransport().createRequestFactory();
            GenericUrl url = new GenericUrl("https://jsonplaceholder.typicode.com/posts");
            Map<String, Object> jsonMap = new HashMap<>();
            jsonMap.put("title", "foo");
            jsonMap.put("body", "bar");
            jsonMap.put("userId", 1);
            JsonFactory jsonFactory = new JacksonFactory();
            JsonHttpContent content = new JsonHttpContent(jsonFactory, jsonMap);
            HttpRequest request = requestFactory.buildPostRequest(url, content);
            HttpResponse response = request.execute();
            System.out.println(response.parseAsString());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpRequestFactory;
import com.google.api.client.http.HttpResponse;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.http.GenericUrl;
import com.google.api.client.http.json.JsonHttpContent;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson2.JacksonFactory;
import java.util.HashMap;
import java.util.Map;
public class HttpClientExample {
    public static void main(String[] args) {
        try {
            HttpRequestFactory requestFactory = new NetHttpTransport().createRequestFactory();
            GenericUrl url = new GenericUrl("https://jsonplaceholder.typicode.com/posts");
            Map<String, Object> jsonMap = new HashMap<>();
            jsonMap.put("title", "foo");
            jsonMap.put("body", "bar");
            jsonMap.put("userId", 1);
            JsonFactory jsonFactory = new JacksonFactory();
            JsonHttpContent content = new JsonHttpContent(jsonFactory, jsonMap);
            HttpRequest request = requestFactory.buildPostRequest(url, content);
            HttpResponse response = request.execute();
            System.out.println(response.parseAsString());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private java As import
Private java As import
Public Class HttpClientExample
	Public Shared Sub main(ByVal args() As String)
		Try
			Dim requestFactory As HttpRequestFactory = (New NetHttpTransport()).createRequestFactory()
			Dim url As New GenericUrl("https://jsonplaceholder.typicode.com/posts")
			Dim jsonMap As Map(Of String, Object) = New HashMap<>()
			jsonMap.put("title", "foo")
			jsonMap.put("body", "bar")
			jsonMap.put("userId", 1)
			Dim jsonFactory As JsonFactory = New JacksonFactory()
			Dim content As New JsonHttpContent(jsonFactory, jsonMap)
			Dim request As HttpRequest = requestFactory.buildPostRequest(url, content)
			Dim response As HttpResponse = request.execute()
			System.out.println(response.parseAsString())
		Catch e As Exception
			e.printStackTrace()
		End Try
	End Sub
End Class
VB   C#

In diesem Beispiel erstellen wir ein JSON-Objekt und verwenden JsonHttpContent, um es in einer POST-Anfrage zu senden. Die Antwort wird dann auf der Konsole ausgegeben.

Google HTTP-Client-Bibliothek für Java (Wie es für Entwickler funktioniert): Abbildung 3 - Konsolenausgabe der obigen Beispielantwort

Einführung in IronPDF for Java

IronPDF ist eine leistungsstarke Bibliothek für Java-Entwickler, die den Prozess der Erstellung, Bearbeitung und Verwaltung von PDF-Dokumenten vereinfacht. Es bietet eine Vielzahl von Funktionen, einschließlich der Umwandlung von HTML in PDF, der Bearbeitung bestehender PDF-Dateien und der Extraktion von Text und Bildern aus PDFs.

Google HTTP Client-Bibliothek für Java (Wie es für Entwickler funktioniert): Abbildung 4 - IronPDF-Startseite: Die Java PDF-Bibliothek

Hauptmerkmale von IronPDF

  1. HTML-zu-PDF-Konvertierung: Konvertieren Sie HTML-Inhalte mit hoher Genauigkeit in PDF.

  2. Manipulieren von vorhandenen PDFs: Zusammenführen, Aufteilen und Ändern bestehender PDF-Dokumente.

  3. Text- und Bildextraktion: Extrahieren Sie Text und Bilder aus PDF-Dokumenten zur weiteren Verarbeitung.

  4. Wasserzeichen und Anmerkungen: Fügen Sie Wasserzeichen, Anmerkungen und andere Verbesserungen zu PDF-Dateien hinzu.

  5. Sicherheitsfunktionen: Fügen Sie Passwörter und Berechtigungen hinzu, um PDF-Dokumente zu sichern.

Einrichten von IronPDF for Java

Um IronPDF in Ihrem Java-Projekt zu verwenden, müssen Sie die IronPDF-Bibliothek einbinden. Sie können die JAR-Datei von der IronPDF-Website herunterladen oder ein Build-Tool wie Maven verwenden, um sie in Ihr Projekt einzubinden. Für Benutzer, die Maven verwenden, fügen Sie folgenden Code zu Ihrer pom.xml hinzu:

<!--Adds IronPDF Java. Use the latest version in the version tag.-->
            <dependency>
                <groupId>com.ironsoftware</groupId>
                <artifactId>ironpdf</artifactId>
                <version>2023.12.1</version>
            </dependency>
            <!--Adds the slf4j logger which IronPDF Java uses.-->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
                <version>2.0.3</version>
            </dependency>
<!--Adds IronPDF Java. Use the latest version in the version tag.-->
            <dependency>
                <groupId>com.ironsoftware</groupId>
                <artifactId>ironpdf</artifactId>
                <version>2023.12.1</version>
            </dependency>
            <!--Adds the slf4j logger which IronPDF Java uses.-->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
                <version>2.0.3</version>
            </dependency>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<!--Adds IronPDF Java.Use the latest version in the version tag.-- > <dependency> <groupId> com.ironsoftware</groupId> <artifactId> ironpdf</artifactId> <version>2023.12.1</version> </dependency> <!--Adds the slf4j logger which IronPDF Java uses.-- > <dependency> <groupId> org.slf4j</groupId> <artifactId> slf4j-simple</artifactId> <version>2.0.3</version> </dependency>
VB   C#

Verwenden der Google HTTP Client-Bibliothek mit IronPDF

In diesem Abschnitt werden wir demonstrieren, wie man mit der Google HTTP Client-Bibliothek HTML-Inhalte von einem Webdienst abruft und dann IronPDF verwendet, um diese HTML-Inhalte in ein PDF-Dokument zu konvertieren.

Beispiel: HTML abrufen und in PDF konvertieren

import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpRequestFactory;
import com.google.api.client.http.HttpResponse;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.http.GenericUrl;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.client.http.json.JsonHttpContent;
import com.google.api.client.auth.oauth2.Credential;
import com.google.api.client.auth.oauth2.CredentialAccessMethod;
import com.google.api.client.auth.oauth2.TokenResponse;
import com.google.api.client.auth.oauth2.TokenResponseException;
import com.google.api.client.auth.oauth2.TokenRequest;
import com.google.api.client.auth.oauth2.AuthorizationCodeFlow;
import com.google.api.client.auth.oauth2.AuthorizationCodeRequestUrl;
import com.google.api.client.auth.oauth2.AuthorizationCodeTokenRequest;
import com.google.api.client.auth.oauth2.ClientParametersAuthentication;
import com.google.api.client.json.JsonGenerator;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import com.ironsoftware.ironpdf.PdfDocument;
public class HtmlToPdfExample {
    public static void main(String[] args) {
        try {
            // Fetch HTML content using Google HTTP Client Library
            HttpRequestFactory requestFactory = new NetHttpTransport().createRequestFactory();
            GenericUrl url = new GenericUrl("https://jsonplaceholder.typicode.com/posts/1");
            HttpRequest request = requestFactory.buildGetRequest(url);
            HttpResponse response = request.execute();
            String htmlContent = response.parseAsString();
            // Convert HTML content to PDF using IronPDF
            PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent);
            pdf.saveAs("output.pdf");
            System.out.println("PDF created successfully!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpRequestFactory;
import com.google.api.client.http.HttpResponse;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.http.GenericUrl;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.client.http.json.JsonHttpContent;
import com.google.api.client.auth.oauth2.Credential;
import com.google.api.client.auth.oauth2.CredentialAccessMethod;
import com.google.api.client.auth.oauth2.TokenResponse;
import com.google.api.client.auth.oauth2.TokenResponseException;
import com.google.api.client.auth.oauth2.TokenRequest;
import com.google.api.client.auth.oauth2.AuthorizationCodeFlow;
import com.google.api.client.auth.oauth2.AuthorizationCodeRequestUrl;
import com.google.api.client.auth.oauth2.AuthorizationCodeTokenRequest;
import com.google.api.client.auth.oauth2.ClientParametersAuthentication;
import com.google.api.client.json.JsonGenerator;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import com.ironsoftware.ironpdf.PdfDocument;
public class HtmlToPdfExample {
    public static void main(String[] args) {
        try {
            // Fetch HTML content using Google HTTP Client Library
            HttpRequestFactory requestFactory = new NetHttpTransport().createRequestFactory();
            GenericUrl url = new GenericUrl("https://jsonplaceholder.typicode.com/posts/1");
            HttpRequest request = requestFactory.buildGetRequest(url);
            HttpResponse response = request.execute();
            String htmlContent = response.parseAsString();
            // Convert HTML content to PDF using IronPDF
            PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent);
            pdf.saveAs("output.pdf");
            System.out.println("PDF created successfully!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private com As import
Private java As import
Private java As import
Private java As import
Private com As import
Public Class HtmlToPdfExample
	Public Shared Sub main(ByVal args() As String)
		Try
			' Fetch HTML content using Google HTTP Client Library
			Dim requestFactory As HttpRequestFactory = (New NetHttpTransport()).createRequestFactory()
			Dim url As New GenericUrl("https://jsonplaceholder.typicode.com/posts/1")
			Dim request As HttpRequest = requestFactory.buildGetRequest(url)
			Dim response As HttpResponse = request.execute()
			Dim htmlContent As String = response.parseAsString()
			' Convert HTML content to PDF using IronPDF
			Dim pdf As PdfDocument = PdfDocument.renderHtmlAsPdf(htmlContent)
			pdf.saveAs("output.pdf")
			System.out.println("PDF created successfully!")
		Catch e As Exception
			e.printStackTrace()
		End Try
	End Sub
End Class
VB   C#

In diesem Beispiel rufen wir zuerst HTML-Inhalte von einer Platzhalter-API mithilfe der Google HTTP Client Library ab. Wir verwenden dann IronPDF, um den abgerufenen HTML-Inhalt in ein PDF-Dokument umzuwandeln und es als output.pdf zu speichern.

Google HTTP-Client-Bibliothek für Java (Wie es für Entwickler funktioniert): Abbildung 5 - PDF-Ausgabe unter Verwendung von IronPDF zur Umwandlung des empfangenen HTML-Inhalts mithilfe von Google HTTP in ein PDF

Schlussfolgerung

Die Google HTTP Client-Bibliothek für Java ist ein leistungsfähiges Werkzeug zur Interaktion mit Webdiensten. Sie bietet vereinfachte HTTP-Anfragen, Unterstützung für verschiedene Authentifizierungsmethoden, nahtlose Integration mit JSON- und XML-Parsing sowie Kompatibilität mit verschiedenen Java-Umgebungen. Kombiniert mit IronPDF können Entwickler HTML-Inhalte von Webdiensten leicht abrufen und in PDF-Dokumente umwandeln, was eine umfassende Bibliothek für verschiedene Anwendungen ermöglicht, von der Erstellung von Berichten bis hin zur Schaffung von herunterladbaren Inhalten für Webanwendungen. Durch die Nutzung dieser beiden Bibliotheken können Java-Entwickler die Fähigkeiten ihrer Anwendungen erheblich verbessern und gleichzeitig die Komplexität des Codes verringern.

Bitte beziehen Sie sich auf die folgenden link.

NÄCHSTES >
Jackson Java (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2024.9 gerade veröffentlicht

Gratis Maven Download Lizenzen anzeigen >