我有一个用例,我有一组受密码保护的HTTPS GET请求,我想访问请求正文,但不是每次都通过用户名/密码,而是使用我的Chrome浏览器会话。
以下是我每次提供我的凭据时创建新的HTTP连接的尝试方法,这种方式不可建议且速度慢。
String url = "<Request URL>";
URL obj = new URL(url);
String encoding = Base64.getEncoder().encodeToString(("<username>:<password>").getBytes());
System.out.println("Encoded Credential String:==>"+encoding);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
con.setDoOutput(true);
con.setRequestProperty ("Authorization", "Basic " + encoding);
System.out.println("Response connection string: "+con.toString());
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
//print result
System.out.println(response.toString());
有人可以向我提供指示,如果我的实施是Java,我该怎么办?
答案 0 :(得分:0)
在任何意义上,使用基本身份验证实际上并没有任何“慢”。
但是,如果您想使用 cookie,那么您可以这样做
urlConn.setRequestProperty("Cookie", "cookiename=cookievalue");
而不是您当前拥有的 Authorization
标头。这是假设您知道要发送的 cookie 名称和值。您可以检查 Chrome HTTP 流量以获取该信息。