use*_*884 2 java rss feed rome rss-reader
我正在尝试阅读https:// d3ca01230439ce08d4aab0c61810af23:bla@mycon.mycompany.com/recordings.atom
使用罗马,但它给我错误
INFO: Illegal access: this web application instance has been stopped already. Could not load org.bouncycastle.jcajce.provider.symmetric.AES$ECB. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
Run Code Online (Sandbox Code Playgroud)
和
Server returned HTTP response code: 401 for URL: https://d3ca01230439ce08d4aab0c61810af23:bla@mycon.mycompany.com/recordings.atom .
Run Code Online (Sandbox Code Playgroud)
我这样做
URL url = new URL("https://d3ca01230439ce08d4aab0c61810af23:bla@mycon.mycompany.com/recordings.atom ");
try {
SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = input.build(new XmlReader(url));
System.out.println("Feed Author:"+feed.getAuthor());
for(Object entries: feed.getEntries()){
SyndEntry entry = (SyndEntry) entries;
System.out.println("title :"+entry.getTitle());
System.out.println("description : "+entry.getDescription());
}
} catch (IllegalArgumentException | FeedException | IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
我需要将用户名密码放在某处吗?
更新
我已经这样做了
URL url = new URL("https://d3ca01230439ce08d4aab0c61810af23:bla@mycon.mycompany.com/recordings.atom");
HttpURLConnection httpcon = (HttpURLConnection)url.openConnection();
String encoding = new sun.misc.BASE64Encoder().encode("username:pass".getBytes());
httpcon.setRequestProperty ("Authorization", "Basic " + encoding);
Run Code Online (Sandbox Code Playgroud)
当我从浏览器中点击该URL时,它会要求进行基本身份验证.你可以用ROME做到这一点:
URL feedUrl = new URL(feed)
HttpURLConnection httpcon = (HttpURLConnection)feedUrl.openConnection();
String encoding = new sun.misc.BASE64Encoder().encode("username:password".getBytes());
httpcon.setRequestProperty ("Authorization", "Basic " + encoding);
SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = input.build(new XmlReader(httpcon));
Run Code Online (Sandbox Code Playgroud)
您可能不应该使用sun.misc.BASE64Encoder.而是在某处找到另一个.
来自:http://cephas.net/blog/2005/02/09/retrieving-an-rss-feed-protected-by-basic-authentication-using-rome/
| 归档时间: |
|
| 查看次数: |
1802 次 |
| 最近记录: |