我正在通过API使用HTTP基本身份验证以下列方式检索数据:
for (int i = 1; i < 10000; i++) {
try {
URL newurl = new URL ("SOMEURL" + i + ".json");
HttpURLConnection newconnection = (HttpURLConnection) newurl.openConnection();
newconnection.setRequestMethod("GET");
newconnection.setDoInput(true);
newconnection.setRequestProperty ("Authorization", "Basic " + encoding);
try {
InputStream newcontent = (InputStream)newconnection.getInputStream();
BufferedReader bfReader = new BufferedReader (new InputStreamReader (newcontent));
String newline;
if ((newline = bfReader.readLine()) != null) {
out.println(newline);
}
}
catch(Exception e2) {
}
}
catch(Exception e) {
e.printStackTrace();
}
}
问题:我可以为第一个请求获取一次身份验证,保持活动状态,并在不要求身份验证的情况下发出剩余的9999个请求,而不是要求身份验证10,000次吗?
目的:加快处理速度,减少服务器负载。
有任何意见吗?
答案 0 :(得分:0)
HTTP设计为无状态,因此您的方法没有任何问题。但是,您可以(但不推荐使用API)会话(使用cookie)或提供登录URL,该URL将发出您可以传递的临时身份验证令牌。