ID regione
Il REGION_ID
è un codice abbreviato che Google assegna
in base alla regione selezionata durante la creazione dell'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 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.Emettere una richiesta HTTP
Il linguaggio PHP fornisce diverse funzioni per effettuare richieste HTTP remote. Questi vengono implementati in modi diversi in Google App Engine e sono soggetti a quote e costi diversi:
- Gestori di stream: i gestori di stream PHP nativi
http://
ehttps://
sono configurati per utilizzare il servizio URL Fetch di App Engine per effettuare richieste HTTP. Molte funzioni PHP, come file_get_contents(), utilizzano indirettamente i gestori di stream e quindi anche il servizio URL Fetch. - Estensione cURL: l'estensione cURL utilizza il servizio Sockets. L'estensione cURL deve essere abilitata nel file php.ini della tua applicazione e la fatturazione deve essere abilitata per il tuo progetto.
- cURL "lite": cURL "lite" è una versione della libreria cURL fornita da Google
che utilizza il
servizio URL Fetch 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 scelta tra cURL, cURL Lite o stream wrapper 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
I gestori di stream HTTP(S) standard vengono utilizzati nelle funzioni PHP integrate, 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 URL Fetch, mentre cURL utilizza l'API Sockets
Guzzle
Per impostazione predefinita, Guzzle utilizza il gestore di stream di PHP, ma utilizzerà automaticamente un gestore cURL se cURL o cURL "lite" è abilitato.
Imposta un timeout della richiesta
Utilizza l'opzione timeout
in
Contesto HTTP per modificare
la scadenza.
Disattivare i reindirizzamenti
Se utilizzi URL Fetch, il servizio URL Fetch 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 reindirizzamenti HTTP, ti consigliamo di disattivarli.
Per indicare al servizio URL Fetch di non seguire i reindirizzamenti, la tua app deve
impostare il parametro follow_location
nelle
opzioni di contesto HTTP
su false
.
Emettere una richiesta HTTPS
Per impostazione predefinita, il servizio URL Fetch sottostante convalida il certificato dell'host che contatta e rifiuta le richieste se il certificato non corrisponde. Non è necessario proteggere esplicitamente la richiesta.
Disattiva la 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.
Emettere una richiesta a un'altra app App Engine
Quando invii 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 istruisci il servizio URL Fetch a non seguire i reindirizzamenti, App Engine
aggiungerà automaticamente questa intestazione alle richieste.
Per indicazioni su come disattivare i reindirizzamenti, vedi 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.