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.
Auf dieser Seite wird beschrieben, wie Sie in Ihrer App Engine-Anwendung HTTP(S)-Anfragen senden.
App Engine verwendet den URL-Abrufdienst, um ausgehende HTTP(S)-Anfragen zu 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-Anfrage senden
Die PHP-Sprache bietet mehrere Funktionen zur Ausführung von HTTP-Remoteanfragen. Diese sind in Google App Engine unterschiedlich implementiert, es gelten jeweils auch unterschiedliche Kontingente und Kosten:
- Stream-Handler: Die nativen PHP-Stream-Handler
http://
undhttps://
sind so konfiguriert, dass sie den URL-Abrufdienst von App Engine für HTTP-Anfragen verwenden. Viele PHP-Funktionen wie file_get_contents() nutzen indirekt Stream-Handler und daher auch den URL-Abrufdienst. - cURL-Erweiterung: Die cURL-Erweiterung verwendet den Socket-Dienst. Die cURL-Erweiterung muss in der php.ini-Datei Ihrer Anwendung aktiviert sein. Außerdem muss die Abrechnung für Ihr Projekt aktiviert sein.
- cURL Lite: cURL Lite ist eine von Google bereitgestellte Version der cURL-Bibliothek. Sie verwendet den URL-Abrufdienst anstelle des Socket-Dienstes. Sie müssen cURL Lite in der php.ini-Datei Ihrer Anwendung aktivieren.
Die folgenden Methoden der cURL-Erweiterung werden nicht unterstützt:
curl_multi_*
Funktionen- Unterstützung für Nicht-Standard-Protokolle
- Unterstützung für andere Ports als 80 (HTTP) oder 443 (HTTPS)
Die Entscheidung, ob cURL, cURL Lite oder Stream-Wrapper verwendet werden, ist weitgehend von Ihrer Anwendung und Ihren Anforderungen abhängig. Wenn Sie sich nicht sicher sind, verwenden Sie die Guzzle HTTP-Bibliothek. Guzzle stellt eine Abstraktionsschicht für HTTP-Anfragen bereit, mit der Sie den zugrunde liegenden Dienst ändern können, ohne den Anwendungscode neu schreiben zu müssen.
Stream-Handler
Die Standard-HTTP(S)-Stream-Handler werden in integrierten PHP-Funktionen wie fopen()
und file_get_contents()
verwendet.
cURL und cURL Lite
Aktivieren Sie cURL oder cURL Lite in der Datei "php.ini", um cURL-Funktionen für ausgehende Anfragen verwenden zu können. cURL Lite nutzt den URL-Abrufdienst und cURL die Sockets API.
Guzzle
Standardmäßig verwendet Guzzle den Stream-Handler von PHP. Wenn jedoch cURL oder cURL Lite aktiviert ist, wird automatisch ein cURL-Handler genutzt.
Anfragezeitüberschreitung festlegen
Ändern Sie das Fristende mit der Option timeout
im HTTP-Kontext.
Weiterleitungen deaktivieren
Wenn Sie URL-Abruf verwenden, folgt der zugrunde liegende URL-Abrufdienst standardmäßig bis zu fünf Weiterleitungen. Diese Weiterleitungen können vertrauliche Informationen wie Autorisierungsheader an das Weiterleitungsziel weiterleiten. Wenn Ihre Anwendung keine HTTP-Weiterleitungen erfordert, empfehlen wir, die Weiterleitungen zu deaktivieren.
Damit der URL-Abrufdienst keinen Weiterleitungen folgt, muss der Parameter follow_location
in den HTTP-Kontextoptionen auf false
festgelegt werden.
HTTPS-Request senden
Siehe weiter oben der Abschnitt HTTP-Anfrage senden.
Validierung des Hostzertifikats deaktivieren
Standardmäßig überprüft die App Engine-Implementierung des HTTPS-Wrappers das Zertifikat des Hosts. Es werden dann alle Anfragen abgelehnt, bei denen das Zertifikat nicht übereinstimmt. Wenn Sie dieses Verhalten deaktivieren möchten, legen Sie den Wert von verify_peer
in den SSL/TLS-Kontextoptionen auf false
fest.
Anfrage 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.
Wenn Sie den URL-Abrufdienst so konfigurieren, dass er keiner Weiterleitung folgt, fügt App Engine diesen Header automatisch zu Anfragen hinzu.
Informationen zum Deaktivieren von Weiterleitungen finden Sie unter Weiterleitungen deaktivieren.
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.