HTTP(S)-Anfragen senden

Regions-ID

REGION_ID ist ein abgekürzter Code, den Google anhand der Region zuweist, die Sie beim Erstellen Ihrer Anwendung ausgewählt haben. Der Code bezieht sich nicht auf ein Land oder eine Provinz, auch wenn einige Regions-IDs häufig verwendeten Länder- und Provinzcodes ähneln können. Bei Anwendungen, die nach Februar 2020 erstellt wurden, ist REGION_ID.r in den App Engine-URLs enthalten. Bei Anwendungen, die vor diesem Datum erstellt wurden, ist die Regions-ID in der URL optional.

Hier finden Sie weitere Informationen zu Regions-IDs.

Auf dieser Seite wird beschrieben, wie Sie in Ihrer App Engine-Anwendung HTTP(S)-Anfragen senden.

Weitere Informationen zu Größenbeschränkungen für Anfragen und dazu, welche Header in einer URL-Abrufanfrage gesendet werden, finden Sie unter Ausgehende Anfragen.

HTTP-Request senden

Zum Senden einer ausgehenden HTTP-Anfrage verwenden Sie wie gewohnt das http-Paket, erstellen den Client aber mithilfe von urlfetch.Client. urlfetch.Client gibt ein *http.Client zurück, das urlfetch.Transport verwendet. Dabei handelt es sich um eine Implementierung der http.RoundTripper-Schnittstelle, die Anfragen über die URL Fetch-API stellt.

Das folgende Snippet veranschaulicht, wie eine grundlegende HTTP-GET-Anfrage ausgeführt wird:

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-Request senden

In der Go API müssen Sie den Request nicht explizit sichern. Der zugrunde liegende URL-Abrufdienst validiert das Zertifikat des Hosts, mit dem er sich standardmäßig verbindet, und lehnt Requests ab, wenn das Zertifikat nicht übereinstimmt.

Validierung des Hostzertifikats deaktivieren

Um die automatische Validierung des Hostzertifikats zu deaktivieren, können Sie manuell einen Transport erstellen und AllowInvalidServerCertificate auf true setzen.

Requests an andere App Engine-Anwendungen senden

Wenn Sie eine Anfrage an eine andere App Engine-Anwendung senden, muss die Identität dieser Anwendung bestätigt werden. Geben Sie zusätzlich in die Anfrage den Header X-Appengine-Inbound-Appid ein.

Nächste Schritte

Unter Ausgehende Anfragen finden Sie weitere Informationen zum URL-Abrufdienst, z. B. zu den Headern, die in einer URL-Abrufanfrage gesendet werden.