Warm tip: This article is reproduced from serverfault.com, please click

java-如何在Groovy的获取请求中传递你的用户名和密码?

(java - How to pass your username and password in a get request with groovy?)

发布于 2020-12-01 06:45:19

我发送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的获取请求中传递你的用户名和密码?

Questioner
Alevtina
Viewed
0
gigalul 2020-12-01 15:19:34

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

import java.net.HttpUrlConnection
import java.net.URL
import java.util.Base64.Encoder

def baseUrl = new URL("https://myurl.com")
def credentials = "user1 user1"
def encodedCredentials = Base64.getEncoder().encodeToString(credentials.getBytes())
...
connection.addRequestProperty("Authorization", "Basic " + encodedCredentials.toString())
...