我正在使用 Java 访问一个 HTTPS 站点,该站点以 XML 格式返回显示。我在 URL 本身中传递登录凭据。这是代码片段:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
requestURL = "https://Administrator:Password@localhost:8443/abcd";
try {
InputStream is = null;
URL url = new URL(requestURL);
InputStream xmlInputStream =new URL(requestURL).openConnection().getInputStream();
byte[] testByteArr = new byte[xmlInputStream.available()];
xmlInputStream.read(testByteArr);
System.out.println(new String(testByteArr));
Document doc = db.parse(xmlInputStream);
System.out.println("DOC="+doc);
} catch (MalformedURLException e) {
}
我在程序中创建了一个不验证签名/未签名证书的信任管理器。但是,在运行上述程序时,我收到错误 Server returned HTTP response code: 401 for URL: https://Administrator:Password@localhost:8443/abcd
我可以在浏览器上使用相同的 url,它会正确显示 xml。请让我知道如何在 Java 程序中完成这项工作。