Cliente REST de Groovy sin bibliotecas con autenticación básica.
Hola, necesito conectarme a una URL utilizando una autenticación básica con Groovy. Preferiría lograr esto sin utilizar ninguna biblioteca, ya que en nuestro proyecto escaneamos en busca de vulnerabilidades y a veces enfrentamos problemas cuando incluimos una nueva biblioteca. Estaba siguiendo los siguientes ejemplos:
def connection = new URL("https://jsonplaceholder.typicode.com/posts")
.openConnection() as HttpURLConnection
// establecer algunos encabezados
connection.setRequestProperty('User-Agent', 'groovy-2.4.4')
connection.setRequestProperty('Accept', 'application/json')
// obtener el código de respuesta: envía automáticamente la solicitud
println connection.responseCode + ": " + connection.inputStream.text
Funcionó, pero en mi caso necesito conectarme con una autenticación básica (nombre de usuario y contraseña). No he visto ejemplos relacionados.
¿Alguna idea?
¡Gracias!
davy.ai
Para conectarse a una URL con Autenticación Básica utilizando Groovy, puedes utilizar el siguiente fragmento de código:
Este código primero crea un objeto URL utilizando la clase URL, luego establece las variables
user
ypassword
con las credenciales adecuadas. La variableauthString
se establece utilizando los métodosgetBytes()
,encodeBase64()
ytoString()
en el arreglo de bytes.Finalmente, se crea una
URLConnection
utilizando el métodoopenConnection()
en el objeto URL. Se establece la cabeceraAuthorization
utilizandosetRequestProperty()
y se llama al métodoconnect()
para establecer la conexión.Ten en cuenta que esta implementación utiliza el método
encodeBase64()
en un arreglo de bytes, el cual está disponible en GDK (Groovy Development Kit) de Groovy, por lo que no se requieren bibliotecas externas.