發出 HTTP(S) 要求

本頁面說明如何透過 App Engine 應用程式發出 HTTP(S) 要求。

App Engine 使用網址擷取服務發出傳出 HTTP(S) 要求。如要進一步瞭解要求大小上限,以及透過網址擷取要求傳送的標頭,請參閱傳出要求一文。

發出 HTTP 要求

如要發出 HTTP 要求,請照常使用 http 套件,但建立用戶端時請改用 urlfetch.Clienturlfetch.Client 會傳回 *http.Client,這個網址使用 urlfetch.Transport,是實作 http.RoundTripper 介面的結果,會使用網址擷取 API 發出要求。

下列程式碼片段示範如何執行基本的 HTTP GET 要求:

import (
	"fmt"
	"net/http"

	"google.golang.org/appengine"
	"google.golang.org/appengine/urlfetch"
)

func handler(w http.ResponseWriter, r *http.Request) {
	ctx := appengine.NewContext(r)
	client := urlfetch.Client(ctx)
	resp, err := client.Get("https://www.google.com/")
	if err != nil {
		http.Error(w, err.Error(), http.StatusInternalServerError)
		return
	}
	fmt.Fprintf(w, "HTTP GET returned status %v", resp.Status)
}

發出 HTTPS 要求

在 Go API 中不需要明確收得要求。基礎網址擷取服務聯絡主機時,預設會驗證對方的憑證,若憑證不符,就會拒絕要求。

停用主機憑證驗證

若要停用自動驗證主機憑證的功能,可以手動建立一次傳輸,並將 AllowInvalidServerCertificate 設定成 true

發出要求至其他 App Engine 應用程式

對另一個 App Engine 應用程式發出要求時,您的 App Engine 應用程式必須在要求中新增用於表明身分的 X-Appengine-Inbound-Appid 標頭。

後續步驟

如要瞭解網址擷取服務,例如透過網址擷取要求傳送的標頭,請參閱傳出要求一文。

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Go 適用的 App Engine 標準環境