Emite solicitudes HTTP(S)

En esta página, se describe cómo emitir solicitudes HTTP(S) desde tu aplicación de App Engine.

App Engine usa el servicio de recuperación de URL para emitir solicitudes HTTP(S) salientes. Para obtener más información sobre cuáles son los límites de tamaño de las solicitudes y qué encabezados se envían en una solicitud de recuperación de URL, consulta Solicitudes salientes.

Emitir una solicitud HTTP

Para emitir una solicitud HTTP saliente, usa el paquete http como de costumbre, pero crea tu cliente con urlfetch.Client. urlfetch.Client muestra un *http.Client que usa urlfetch.Transport, que es una implementación de la interfaz httpRoundTripper que realiza solicitudes mediante la API de recuperación de URL.

El fragmento siguiente muestra cómo realizar una solicitud GET HTTP básica:

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)
}

Emitir una solicitud HTTPS

En la API de Go, no tienes que proteger tu solicitud de forma explícita. El servicio de recuperación de URL subyacente valida el certificado del host que contacta de manera predeterminada, y rechaza las solicitudes si el certificado no coincide.

Inhabilitar la validación del certificado del host

Para inhabilitar la validación automática del certificado del host, puedes crear un Transporte manualmente y configurar AllowInvalidServerCertificate como true.

Emitir una solicitud a otra aplicación de App Engine

Cuando se emite una solicitud a otra aplicación de App Engine, tu aplicación de App Engine debe confirmar su identidad agregando el encabezado X-Appengine-Inbound-Appid a la solicitud.

Próximos pasos

Obtén más información sobre el servicio de recuperación de URL, como los encabezados que se envían en una solicitud de recuperación de URL, en Solicitudes salientes.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Entorno estándar de App Engine para Go