Java 标头授权密钥为';不接受
我试图从在线数据库服务Ragic获取一些JSON信息,需要在标题中使用API键查询URL。我尝试过几种不同的编码方法,但每次我都会返回一个空URL,这意味着API键从标头中丢失,或者标头完全错误。我不太确定问题出在哪里,代码会编译,但只返回一个空HTML,其中只包含“{}”,这意味着接收到的JSON为零Java 标头授权密钥为';不接受,java,https,header,httpurlconnection,api-key,Java,Https,Header,Httpurlconnection,Api Key,我试图从在线数据库服务Ragic获取一些JSON信息,需要在标题中使用API键查询URL。我尝试过几种不同的编码方法,但每次我都会返回一个空URL,这意味着API键从标头中丢失,或者标头完全错误。我不太确定问题出在哪里,代码会编译,但只返回一个空HTML,其中只包含“{}”,这意味着接收到的JSON为零 package main; import java.io.*; import java.net.*; import org.apache.commons.codec.binary.Base64
package main;
import java.io.*;
import java.net.*;
import org.apache.commons.codec.binary.Base64;
public class Example {
public static void main(String[] args) throws UnsupportedEncodingException, Exception {
String apiKey = "apikey";
try {
URL url = new URL("https://api.ragic.com/parcare/new-tab/1");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
String basicAuth = "Basic " + new String(new Base64().encode(apiKey.getBytes()));
basicAuth = basicAuth.replaceAll("\n", "");
conn.addRequestProperty("Authorization", basicAuth);
conn.setRequestMethod("POST");
conn.connect();
try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"))) {
for (String line; (line = reader.readLine()) != null;) {
System.out.println(line);
}
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (RuntimeException allDownloadExceptions) {
allDownloadExceptions.printStackTrace();
}
}
}
请尝试
String-credentials=“用户:通过”;字符串auth=“Basic”+Base64.encodeToString(credentials.getBytes(),Base64.NO\u WRAP)代码>我收到一个错误,Base64.NO_WRAP,特别是NO_WRAP,无法解决或不是一个字段哦,对不起,我使用Android类,仅用于Java,请阅读以查看它是否可以帮助OK,感谢您的帮助!