no seguir redireccionamientos con el cliente GO http
cuando interactúa con las API REST que devuelven las respuestas de redirección, modificando el comportamiento del cliente GO HTTP para ignorar las redireccionamientos para los casos de uso específicos. Aquí hay una forma simple y efectiva de lograr esta funcionalidad:
la función checkedirect de http.client tiene prioridad sobre el comportamiento predeterminado de seguimiento de redirección. Al personalizar esta función, puede determinar cuándo deben seguirse las redirecciones. Para evitar la redirección automática, proporcione una implementación alternativa:
CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }
Esta configuración informa el paquete HTTP para evitar operaciones de redirección. Devuelve http.erruselastresponse, que instruye al paquete para utilizar la última respuesta con el cuerpo aún accesible.
En su ejemplo, actualice la configuración del cliente de la siguiente manera:
client := &http.Client{ CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }, }
estableciendo esta configuración, su script establecerá con éxito una conexión con el punto final, recuperará el encabezado de ubicación HTTP para su posterior procesamiento y evitará ser redirigido al nuevo recurso. Este método proporciona un enfoque más elegante y sin errores en comparación con soluciones alternativas que forzan el manejo de errores.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3