JAVA 幫助

Google HTTP Client Library for Java(開發者如何使用)

發佈 2024年9月29日
分享:

Google HTTP Client Library for Java 是一個強大的程式庫,旨在簡化在 Java 應用程式中進行 HTTP 請求和處理回應的過程。 它是 Google 應用引擎和 Google API 用戶端的一部分,作為 Google Apis 的一部分。由 Google 開發和維護,這個強大的 Java 庫支持各種 HTTP 方法,並與 JSON 數據模型和 XML 數據模型無縫集成,使其成為開發者尋求與 Web 服務互動的絕佳選擇。 此外,我們將探討 IronPDF 用於 Java,並演示如何將其整合到 Google HTTP Client Library 從 HTTP 回應數據生成 PDF 文件。

主要功能

  1. 簡化的 HTTP 請求:該庫抽象化了創建和發送 HTTP 請求的大部分複雜性,使得開發人員更容易使用。

  2. 支援各種驗證方法:它支持OAuth 2.0和其他驗證方案,這對於與現代API互動至關重要。

  3. JSON 和 XML 解析:該庫可以自動解析 JSON 和 XML 響應為 Java 物件,減少樣板代碼。

  4. 非同步請求:支援非同步請求,能夠通過將網路操作分配到背景執行緒來提升應用程式效能。

  5. 內建重試機制:該庫包含一個內建的重試機制用來處理短暫的網路錯誤,這有助於提高應用程式的健壯性。

    1. 穩定性和維護: 該庫提供穩定且非測試版的功能,確保在生產環境中的可靠性能。

    Google HTTP Client Library for Java(開發人員如何使用):圖 1 - Google HTTP Client Library Java 主頁

設置 Google HTTP 客戶端庫用於 Java

要使用 Google HTTP 客戶端程式庫 for Java,您必須將完整的客戶端程式庫和必要的依賴項添加到您的項目中。 如果您正在使用 Maven,您可以將以下依賴項添加到您的 pom.xml 文件中:

<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#

基本用法

讓我們通過各種範例來探索 Google HTTP 用戶端程式庫在 Java 中的基本用法。

1. 發送簡單的 GET 請求

以下程式碼示範如何使用 Google HTTP 客戶端庫進行完整的請求內容簡單 GET 請求:

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#

在此範例中,我們創建一個 HttpRequestFactory,並使用它來構建和執行一個對佔位符 API 的 GET 請求。 我們在這裡使用 try-catch 區塊來捕捉異常,以減少在請求失敗時編譯錯誤的發生頻率。 然後,我們將響應輸出至下方的控制台。

Google HTTP 客戶端庫 for Java(對開發人員的工作原理):圖 2 - 來自上方範例響應的控制台輸出

2. 使用 JSON 數據進行 POST 請求

以下程式碼示範如何使用 JSON 資料發送 POST 請求:

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#

在此範例中,我們創建一個 JSON 對象並使用 JsonHttpContent 在 POST 請求中發送該對象。然後將響應列印到控制台。

Google HTTP 客戶端庫(適用於開發者的運作方式):圖 3 - 來自上述示例回應的控制台輸出

IronPDF for Java 介紹

IronPDF 是一個強大的 Java 開發者庫,能簡化創建、編輯和管理 PDF 文件的過程。 它提供了多種功能,包括將 HTML 轉換為 PDF、操作現有的 PDF 文件,並從 PDF 中提取文字和圖像。

Google HTTP Client Library for Java(對開發人員的運作方式):圖 4 - IronPDF 主頁:The Java PDF Library

IronPDF 的主要功能

  1. HTML 轉 PDF 轉換:高保真地將 HTML 內容轉換為 PDF。

  2. 操作現有的 PDF:合併、分割和修改現有的 PDF 文件。

  3. 文字和圖片提取:從 PDF 文件中提取文字和圖片以進行進一步處理。

  4. 水印和註釋:在 PDF 文件中添加水印、註釋和其他增強功能。

  5. 安全功能:添加密碼和權限以保護 PDF 文件。

設置 IronPDF for Java

要在您的 Java 項目中使用 IronPDF,您需要包含 IronPDF 庫。 您可以從 IronPDF 網站下載 JAR 檔案,或者使用像 Maven 這樣的建置工具將其包含在您的專案中。 對於使用 Maven 的用戶,將以下代碼添加到您的 pom.xml:

<!--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#

使用 Google HTTP 用戶端庫與 IronPDF

在本節中,我們將展示如何使用 Google HTTP 客戶端庫從網路服務提取 HTML 內容,然後使用 IronPDF 將該 HTML 內容轉換為 PDF 文件。

範例:擷取 HTML 並轉換為 PDF

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#

在此範例中,我們首先使用 Google HTTP Client Library 從佔位符 API 獲取 HTML 內容。 接著,我們使用 IronPDF 將獲取的 HTML 內容轉換為 PDF 文件,並將其保存為 output.pdf。

Google HTTP Client Library for Java(它如何為開發人員工作):圖 5 - 使用 IronPDF 將接收到的 HTML 內容通過 Google HTTP 轉換為 PDF 的 PDF 輸出。

結論

Google HTTP 客戶端程式庫適用於 Java,是一個強大的工具,用於與網路服務互動,提供簡化的 HTTP 請求、支援各種驗證方法、與 JSON 和 XML 分析的無縫整合,以及與各種 Java 環境的相容性。 結合 IronPDF,開發人員可以輕鬆從網路服務中獲取 HTML 內容並將其轉換為 PDF 文件,從而為各種應用程式提供完整的庫,從生成報表到為網路應用程式創建可下載內容。 通過利用這兩個庫,Java 開發者可以顯著增強其應用程式的功能,同時減少程式碼的複雜度。

請參見以下內容 連結.

下一個 >
Jackson Java(它如何為開發者工作)

使用 Maven 安裝

版本: 2024.9.1

<dependency>
  <groupId>com.ironsoftware</groupId>
  <artifactId>ironpdf</artifactId>
  <version>2024.9.1</version>
</dependency>

準備開始了嗎? 版本: 2024.9 剛剛發布

免費 Maven 下載 查看許可證 >