curl在java中请求

时间:2016-03-07 12:57:03

标签: java httpurlconnection urlconnection

我必须向api提出请求。 有效的卷曲是:

curl -u apiKey:pass -H "Accept: application/json" https://subdomain.chargify.com/portal/customers/id/management_link.json

我到目前为止的java代码是:

String userpass = apiKey + ":" + pass;
String basicAuth = "Basic " + new String(new Base64().encode(userpass.getBytes()));

URL url = new URL(stringUrl);
HttpURLConnection uc = (HttpURLConnection) url.openConnection();
uc.setRequestProperty("Accept", "application/json");
uc.setRequestProperty("Authorization", basicAuth);

InputStream content = uc.getInputStream();
int status = uc.getResponseCode();
BufferedReader in = new BufferedReader (new InputStreamReader(content));

String line;
while ((line = in.readLine()) != null) {
        System.out.println(line);
}

每次我收到401响应代码。 我做错了什么?

1 个答案:

答案 0 :(得分:1)

您的请求需要用户身份验证。由于请求已包含授权凭据,因此401响应表示已拒绝授权这些凭据。检查您如何生成和验证密钥