ID regione
REGION_ID
è un codice abbreviato assegnato da Google in base alla regione selezionata quando crei l'app. Il codice non corrisponde a un paese o a una provincia, anche se alcuni ID regione possono sembrare simili ai codici di paesi e province di uso comune. Per le app create dopo febbraio 2020, REGION_ID.r
è incluso negli URL di App Engine. Per le app esistenti create prima di questa data, l'ID regione è facoltativo nell'URL.
Scopri di più sugli ID regione.
Questa pagina descrive come inviare richieste HTTP(S) dalla tua app App Engine.
App Engine utilizza il servizio di recupero URL per inviare richieste HTTP(S) in uscita. Per informazioni dettagliate sui limiti di dimensione delle richieste e sulle intestazioni inviate in una richiesta di recupero URL, consulta Richieste in uscita.Invio di una richiesta HTTP
Il linguaggio PHP fornisce diverse funzioni per effettuare richieste HTTP remote. Questi sono implementati in modi diversi in Google App Engine e sono soggetti a quote e costi diversi:
- Gestione degli stream: i gestori degli stream PHP nativi
http://
ehttps://
sono configurati per utilizzare il servizio di recupero dell'URL di App Engine per effettuare richieste HTTP. Molte funzioni PHP, come file_get_contents(), utilizzano indirettamente gli handler stream e, di conseguenza, anche il servizio di recupero dell'URL. - Estensione cURL: l'estensione cURL utilizza il servizio Sockets. L'estensione cURL deve essere attivata nel file php.ini della tua applicazione e la fatturazione deve essere attivata per il tuo progetto.
- cURL "lite": cURL "lite" è una versione della libreria cURL fornita da Google che utilizza il servizio di recupero dell'URL anziché il servizio Sockets. Devi attivare cURL "lite" nel
file php.ini della tua applicazione.
I seguenti metodi dell'estensione cURL non sono supportati:
curl_multi_*
funzioni- Supporto per protocolli non standard
- Supporto di porte diverse da 80 (HTTP) o 443 (HTTPS)
La decisione se utilizzare cURL, cURL Lite o wrapper per stream dipende in gran parte dalla tua applicazione e dalle tue preferenze. In caso di dubbi, utilizza la libreria HTTP Guzzle. Guzzle fornisce un livello di astrazione per le richieste HTTP, che ti consente di modificare il servizio sottostante senza riscrivere il codice dell'applicazione.
Gestori di stream
Gli handler di stream HTTP(S) standard vengono utilizzati nelle funzioni PHP predefinite come fopen()
e file_get_contents()
.
cURL e cURL "lite"
Attiva cURL o cURL "lite" in php.ini per utilizzare le funzioni cURL per le richieste in uscita. cURL "lite" utilizza il servizio di recupero URL, mentre cURL utilizza l'API Sockets
Guzzle
Per impostazione predefinita, Guzzle utilizza il gestore dello stream di PHP, ma utilizzerà automaticamente un gestore cURL se cURL o cURL "lite" sono abilitati.
Impostazione di un timeout della richiesta
Utilizza l'opzione timeout
nel
contesto HTTP per modificare
la scadenza.
Disattivare i reindirizzamenti
Se utilizzi il recupero dell'URL, il servizio di recupero dell'URL sottostante segue fino a cinque reindirizzamenti per impostazione predefinita. Questi reindirizzamenti potrebbero inoltrare informazioni sensibili, come le intestazioni di autorizzazione, alla destinazione reindirizzata. Se la tua app non richiede i reindirizzamenti HTTP, ti consigliamo di disattivarli.
Per indicare al servizio di recupero dell'URL di non seguire i reindirizzamenti, l'app deve impostare il parametro follow_location
nelle opzioni di contesto HTTP su false
.
Invio di una richiesta HTTPS
Consulta la sezione Emissione di una richiesta HTTP sopra.
Disattivazione della convalida del certificato host
Per impostazione predefinita, l'implementazione di App Engine del wrapper HTTPS tenta di convalidare il certificato dell'host e rifiuta le richieste in cui il certificato non corrisponde. Per disattivare questo comportamento, imposta il valore di
verify_peer
su false
nelle
opzioni di contesto SSL/TLS.
Emissione di una richiesta a un'altra app App Engine
Quando emetti una richiesta a un'altra app App Engine, la tua app App Engine deve affermare la propria identità aggiungendo l'intestazione X-Appengine-Inbound-Appid
alla richiesta.
Se indichi al servizio di recupero dell'URL di non seguire i reindirizzamenti, App Engine aggiugnerà automaticamente questa intestazione alle richieste.
Per istruzioni su come disattivare i reindirizzamenti, consulta Disattivare i reindirizzamenti.
Passaggi successivi
Scopri di più sul servizio di recupero URL, ad esempio le intestazioni inviate in una richiesta di recupero URL in Richieste in uscita.