Al usar http-builder de Groovy con autenticación básica, el comportamiento predeterminado es enviar primero una solicitud no autenticada y volver a enviar la solicitud con credenciales después de recibir un 401 en primer lugar. Apache's Httpclient ofrece preemptive authentication para enviar las credenciales directamente en la primera solicitud. ¿Cómo puedo usar la autenticación preventiva en el generador de http de Groovy? Se aprecian todos los ejemplos de código.usando Groovy http-builder en modo preventivo
20
A
Respuesta
31
Basado en un JIRA issue se puede hacer algo así:
def http = new RESTClient('http://awesomeUrl/')
http.client.addRequestInterceptor(new HttpRequestInterceptor() {
void process(HttpRequest httpRequest, HttpContext httpContext) {
httpRequest.addHeader('Authorization', 'Basic ' + 'myUsername:myPassword'.bytes.encodeBase64().toString())
}
})
def response = http.get(path: "aResource")
println response.data.text
28
También puede resolverlo estilo maravilloso con
http = new RESTClient('http://awesomeUrl/')
http.headers['Authorization'] = 'Basic '+"myUsername:myPassword".getBytes('iso-8859-1').encodeBase64()
+1
Además, 'getBytes ('iso-8859- 1 ') 'puede ser reemplazado por simplemente' bytes'. –
+0
Nada más funcionó para mí. Usted señor obtén un voto favorable. –
Cuestiones relacionadas
- 1. Publicación de datos JSON con HTTPBuilder de Groovy
- 2. POST con HTTPBuilder -> NullPointerException?
- 3. HTTPBuilder establece requestBody en el método GET
- 4. Experiencias usando Groovy ++ en Grails
- 5. ¿Modo de autocompletado de Emacs para Groovy?
- 6. JSON en Groovy/Grails
- 7. Groovy/Grails publicando XML a través de HTTP (usando el plugin REST)
- 8. reemplazando toString usando Groovy metaprogramming
- 9. Usando @Value Spring Annotation con Groovy
- 10. Reemplazo simple de Groovy usando regex
- 11. Parse_url equivalent in grails/groovy?
- 12. Modo vagabundo en emacs usando ssh config
- 13. usando jQuery en modo orientado a objetos
- 14. Implemente la interfaz de forma dinámica en Groovy usando invokeMethod
- 15. Limpiar rastros de pila en Groovy usando Eclipse?
- 16. Cuando se ejecutan scripts Groovy usando el contenedor groovy-all, ¿cómo se especifica un classpath?
- 17. __LINE__ función en Groovy
- 18. Interfaces en Groovy
- 19. Constantes globales en Groovy
- 20. groovy: cómo simplificar/reescribir este método en groovy
- 21. Groovy *. Operadores
- 22. Groovy Mixins?
- 23. ¿Implementar la aplicación en producción usando el modo de depuración en lugar del modo de lanzamiento?
- 24. Cómo detectar IE Modo protegido usando C#
- 25. Cambiar al modo de usuario usando iret
- 26. Constructores Groovy
- 27. Groovy load .csv files
- 28. operador groovy^
- 29. SoapUI Groovy API documentation
- 30. ¿Qué significa .delegate en groovy?
exactamente el 100% de lo que he buscar. ¡Gracias! –
hermosa. Obtuve 500 errores errantes (y aparentemente inofensivos, pero molestos) con el plugin Spring Security Grails y la autenticación básica sin establecer el modo preventivo. Esto lo solucionó. Tenga en cuenta que tenía que añadir las siguientes importaciones: importación org.apache.http.HttpRequestInterceptor org.apache.http.protocol.HttpContext importación importación org.apache.http.HttpRequest – ed209