如何解决SAX解析器带有HTTPS的麻烦!
| 我正在使用sax解析器从联机XML文件中获取一些数据。 我尝试将文件复制到我自己的本地服务器\“ http not https \”,然后流式传输并解析它,它的工作原理很吸引人。 但是,当我从原始\“ https \”服务器尝试尝试时,我一直在以下位置获取java.lang.StringIndexOutOfBoundsException:xr.parse(new InputSource(urlHealthProducts.openStream()));
这是我的代码:
我从这里使用了trustEveryone()方法:
由于我有不受信任的SSL证书例外,因此在Android上进行自签名SSL接受,除非对此造成问题,否则请不要对此发表评论!
我也使用此类登录:
static class MyAuthenticator extends Authenticator {
String username,password;
MyAuthenticator(String user,String pwd) {
super();
username = user;
password = pwd;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username,password.toCharArray());
}
}
最后导致该异常的代码是:
trustEveryone();
MyAuthenticator auth = new MyAuthenticator(\"user\",\"pass\");
Authenticator.setDefault(auth);
URL urlHealthProducts = new URL(\"https://somewebsite/myfile\");
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
XMLHealthProductsHandler healthProductsHandler = new XMLHealthProductsHandler();
xr.setContentHandler(healthProductsHandler);
xr.parse(new InputSource(urlHealthProducts.openStream()));
即使没有身份验证器,我也遇到相同的异常
我已经在网上挖掘了太久了!上面使用这些方法的每个人似乎都不错,除了我!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。