Questa pagina descrive come inviare richieste HTTP e HTTPS e ricevere risposte utilizzando il servizio di recupero URL.
Richieste
Protocolli di richiesta
Un'applicazione può recuperare un URL utilizzando HTTP o HTTPS. Il protocollo da utilizzare viene dedotto dal protocollo nell'URL di destinazione.
L'URL da recuperare può utilizzare qualsiasi numero di porta nei seguenti intervalli:
80
-90
440
-450
1024
-65535
Se la porta non è indicata nell'URL, è implicita nel protocollo. Le richieste HTTP vengono eseguite sulla porta 80
e le richieste HTTPS sulla porta 443
.
Metodi di richiesta
Se invii richieste tramite il servizio di recupero URL, puoi utilizzare uno dei seguenti metodi HTTP:
GET
POST
PUT
HEAD
DELETE
PATCH
Una richiesta può includere intestazioni HTTP e, per le richieste POST
, PUT
e PATCH
, un payload.
Proxy delle richieste
Tieni presente che il servizio di recupero dell'URL utilizza un proxy conforme a HTTP/1.1 per recuperare il risultato.
Per impedire a un'applicazione di causare una ricorsione infinita di richieste, un gestore delle richieste non è autorizzato a recuperare il proprio URL. È comunque possibile causare una ricorsione infinita con altri mezzi, quindi fai attenzione se la tua applicazione può essere impostata per recuperare richieste per URL forniti dall'utente.
Intestazioni delle richieste
L'applicazione può impostare le intestazioni HTTP per la richiesta in uscita.
Ad esempio, quando invii una richiesta POST
HTTP, se un'intestazione Content-Type
non viene impostata esplicitamente, l'intestazione viene impostata su x-www-form-urlencoded
.
Si tratta del tipo di contenuti utilizzato dai moduli web.
Per motivi di sicurezza, le seguenti intestazioni non possono essere modificate dall'applicazione:
Content-Length
Host
Vary
Via
X-Appengine-Inbound-Appid
X-Forwarded-For
X-ProxyUser-IP
App Engine imposta questi valori su valori accurati, se opportuno. Ad esempio, App Engine calcola l'Content-Length
intestazione dai dati della richiesta e la aggiunge alla richiesta prima dell'invio.
Le seguenti intestazioni indicano l'ID applicazione dell'app richiedente:
User-Agent
. Questa intestazione può essere modificata, ma App Engine aggiungerà una stringa di identificatore per consentire ai server di identificare le richieste di App Engine. La stringa aggiunta ha il formato"AppEngine-Google; (+http://code.google.com/appengine; appid: APPID)"
, doveAPPID
è l'identificatore della tua app.X-Appengine-Inbound-Appid
. Questa intestazione non può essere modificata e viene aggiunta automaticamente se la richiesta viene inviata tramite il servizio di recupero dell'URL.
Timeout delle richieste
Puoi impostare una scadenza o un timeout per una richiesta. Per impostazione predefinita, il timeout per una richiesta è 10 secondi.
Connessioni sicure e HTTPS
L'applicazione può recuperare un URL in modo sicuro utilizzando HTTPS per connettersi a server sicuri. I dati delle richieste e delle risposte vengono trasmessi sulla rete in forma criptata.
Risposte
Se utilizzi l'API URL Fetch, tieni presente che il servizio URL Fetch restituisce tutti i dati di risposta, inclusi la risposta, il codice, le intestazioni e il corpo.
Per impostazione predefinita, se il servizio di recupero URL riceve una risposta con un codice di reindirizzamento, il servizio seguirà il reindirizzamento. Il servizio seguirà fino a cinque risposte di reindirizzamento, quindi restituirà la risorsa finale.
Utilizzare URL Fetch sul server di sviluppo
Quando l'applicazione è in esecuzione sul server di sviluppo App Engine sul tuo computer, le chiamate al servizio URL Fetch vengono gestite localmente. Il server di sviluppo recupera gli URL contattando gli host remoti direttamente dal computer, utilizzando la configurazione di rete utilizzata dal computer per accedere a internet.
Quando testi le funzionalità della tua applicazione che recuperano gli URL, assicurati che il tuo computer possa accedere agli host remoti.
Quote e limiti per il recupero dell'URL
Per informazioni sulle quote del servizio di recupero dell'URL, consulta Quote. Per visualizzare l'utilizzo attuale della quota della tua applicazione, vai alla pagina Dettagli quota in Google Cloud Console.
Vai alla pagina Dettagli quota
Inoltre, all'utilizzo del servizio di recupero dell'URL si applicano i seguenti limiti:
Limit | Amount |
---|---|
Request size | 10 megabytes |
Request header size | 16 KB (Note that this limits the maximum length of the URL that can be specified in the header) |
Response size | 32 megabytes |
Maximum deadline (request handler) | 60 seconds |
Maximum deadline (Task Queue and cron job handler) | 60 seconds |