我负责监控来自各种IDS和网络监控系统的测试结果的Android应用程序。为此,我们使用了一个非常基本的公司范围API,但没有受到任何保护。在上周的更新中,负责API的团队决定实施基本访问身份验证。由于有多个运行此API的服务器,并非所有服务器都使用HTTPS,因此我们保持客户端代码协议无关。有问题的代码如下所示:
private String url;
public String obtainResource() throws IOException {
URL u;
try {
u = new URL(url);
} catch (MalformedURLException e) {
android.util.Log.e("obtainResource", e.getMessage());
//code for error message on device
return null;
}
BufferedReader reader;
try {
reader = new BufferedReader(new InputStreamReader(u.openStream()));
} catch (IOException e) {
android.util.Log.e("obtainResource", e.getMessage());
//code for error message on device
return null;
}
String line;
String ret = "";
while ((line = reader.readLine()) != null) {
if (ret != "") {
ret += "\n";
}
ret += line;
}
return ret;
}
现在我们需要为HTTP和HTTPS实现基本访问身份验证。是否可以在不检查协议的URL字符串本身的情况下执行此操作,以便与协议无关?