Groovy 没有带基本身份验证的库的休息客户端
Groovy rest client without libraries with basic authentication
你好,我需要使用 Groovy 的基本身份验证连接到 url,我更愿意在不使用任何库的情况下实现这一点,因为在我们的项目中,我们扫描了漏洞和一些当我们包含一个新库时,我们有时会遇到问题。我正在关注下一个示例:
def connection = new URL( "https://jsonplaceholder.typicode.com/posts")
.openConnection() as HttpURLConnection
// set some headers
connection.setRequestProperty( 'User-Agent', 'groovy-2.4.4' )
connection.setRequestProperty( 'Accept', 'application/json' )
// get the response code - automatically sends the request
println connection.responseCode + ": " + connection.inputStream.text
它有效,但在我的情况下,我需要使用基本身份验证(用户名和密码)进行连接。我还没有看到相关的例子。
有什么想法吗?
谢谢!
https://en.wikipedia.org/wiki/Basic_access_authentication
在基本的 HTTP 身份验证中,请求包含一个 header 字段,形式为
Authorization: Basic <credentials>
其中 <credentials>
是由单个冒号连接的 ID 和密码的 Base64 编码 :
。
在 groovy 中可能如下所示:
def user = ...
def pass = ...
def auth = "${user}:${pass}".bytes.encodeBase64()
connection.setRequestProperty("Authorization", "Basic ${auth}")
你好,我需要使用 Groovy 的基本身份验证连接到 url,我更愿意在不使用任何库的情况下实现这一点,因为在我们的项目中,我们扫描了漏洞和一些当我们包含一个新库时,我们有时会遇到问题。我正在关注下一个示例:
def connection = new URL( "https://jsonplaceholder.typicode.com/posts")
.openConnection() as HttpURLConnection
// set some headers
connection.setRequestProperty( 'User-Agent', 'groovy-2.4.4' )
connection.setRequestProperty( 'Accept', 'application/json' )
// get the response code - automatically sends the request
println connection.responseCode + ": " + connection.inputStream.text
它有效,但在我的情况下,我需要使用基本身份验证(用户名和密码)进行连接。我还没有看到相关的例子。
有什么想法吗?
谢谢!
https://en.wikipedia.org/wiki/Basic_access_authentication
在基本的 HTTP 身份验证中,请求包含一个 header 字段,形式为
Authorization: Basic <credentials>
其中 <credentials>
是由单个冒号连接的 ID 和密码的 Base64 编码 :
。
在 groovy 中可能如下所示:
def user = ...
def pass = ...
def auth = "${user}:${pass}".bytes.encodeBase64()
connection.setRequestProperty("Authorization", "Basic ${auth}")