[英]How to authorize with HTTPS request with java?
我需要通過https連接到API,但需要授權。
我有它的登錄名和密碼,但不知道如何將其轉移到https。
代碼我嘗試使用以下代碼(從另一個SO帖子獲得):
public class TestHTTPSRequest {
public static void main(String[] args) throws Exception {
URLConnection connection = new URL("https://smartcat.ai/api/integration/v1/account").openConnection();
InputStream is = connection.getInputStream();
InputStreamReader reader = new InputStreamReader(is);
char[] buffer = new char[256];
int rc;
StringBuilder sb = new StringBuilder();
while ((rc = reader.read(buffer)) != -1)
sb.append(buffer, 0, rc);
reader.close();
System.out.println(sb);
}
}
請嘗試使用HTTPClient。 您可以輕松連接到https網址。
此外,如果它是一個安全的URL你需要一些安全標頭他們可以
1>身份驗證令牌或任何其他令牌
2>為了CSRF保護,您可能需要一些其他令牌
請瀏覽API的文檔
傑克傑伊的鏈接幫助。 以下方法對我很有用:
public static void main(String[] args) {
try {
URL url = new URL ("https://.../......");
String encoding = Base64.getEncoder().encodeToString(("login:password").getBytes());
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setDoOutput(true);
connection.setRequestProperty ("Authorization", "Basic " + encoding);
InputStream content = (InputStream)connection.getInputStream();
BufferedReader in =
new BufferedReader (new InputStreamReader (content));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
} catch(Exception e) {
e.printStackTrace();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.