Java 如何使用groovy在get请求中传递用户名和密码?

Java 如何使用groovy在get请求中传递用户名和密码?,java,groovy,Java,Groovy,我发送GET请求并接收错误500 def baseUrl = new URL(url) HttpURLConnection connection = (HttpURLConnection) baseUrl.openConnection(); connection.addRequestProperty("Authorization", "user1 user1") connection.addReque

我发送GET请求并接收错误500

 def baseUrl = new URL(url)
         HttpURLConnection connection = (HttpURLConnection) baseUrl.openConnection();
         connection.addRequestProperty("Authorization", "user1 user1")
         connection.addRequestProperty("Accept", "application/json")
         connection.with {
           doOutput = true
           requestMethod = 'GET'
           println content.text
         }
我确信我的api是正确的


如何使用groovy在get请求中传递用户名和密码?

您编写
“Authorization”
标题的方式不正确。对于基本身份验证,您需要对用户名和密码进行编码,并将其与
“basic”
关键字一起使用

导入java.net.HttpUrlConnection
导入java.net.URL
导入java.util.Base64.Encoder
def baseUrl=新URL(“https://myurl.com")
def credentials=“user1 user1”
def encodedCredentials=Base64.getEncoder().encodeToString(credentials.getBytes())
...
connection.addRequestProperty(“授权”、“基本”+encodedCredentials.toString())
...

这是否回答了您的问题@cfrick,no I receive error:没有方法签名:static java.util.Base64.encode()适用于参数类型:([B,java.lang.Integer)值:[[117,115,101,114,49,58,117,115,101,114,49],0]
新字符串(Base64.getEncoder().encode(“secret.getBytes())
-如接受的答案所示