Java 如何使用groovy在get请求中传递用户名和密码?
我发送GET请求并接收错误500Java 如何使用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
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())
-如接受的答案所示