Java RSS阅读器openStream()

Java RSS阅读器openStream(),java,rss,rss-reader,Java,Rss,Rss Reader,我对Java是新手,但我真的很想在这方面做得更好。我想写一个简单的RSS阅读器。代码如下: import java.io.*; import java.net.*; public class RSSReader { public static void main(String[] args) { System.out.println(readRSS("http://www.usnews.com/rss/health-news")); } public static String rea

我对Java是新手,但我真的很想在这方面做得更好。我想写一个简单的RSS阅读器。代码如下:

import java.io.*;
import java.net.*;

public class RSSReader {
public static void main(String[] args) {
    System.out.println(readRSS("http://www.usnews.com/rss/health-news"));
}
public static String readRSS(String urlAddress){
    try {
            URL rssUrl = new URL(urlAddress);
            BufferedReader in = new BufferedReader(new InputStreamReader(rssUrl.openStream()));
            String sourceCode = "";
            String line;
            while((line = in.readLine())!=null){
                if(line.contains("<title>")){
                    int firstPos = line.indexOf("<title>");
                    String temp = line.substring(firstPos);
                    temp = temp.replace("<title>","");
                    int lastPos = temp.indexOf("</title>");
                    temp = temp.substring(0,lastPos);
                    sourceCode +=temp+"\n";
                }
            }
        System.out.println("YAAAH"+sourceCode);
        in.close();

        return sourceCode;
    }   catch (MalformedURLException ue) {
            System.out.println("Malformed URL");
    }   catch (IOException ioe) {
            System.out.println("WTF?");
    }
    return null;
}
}
import java.io.*;
导入java.net。*;
公共类RSSReader{
公共静态void main(字符串[]args){
System.out.println(readRSS(“http://www.usnews.com/rss/health-news"));
}
公共静态字符串读取器(字符串URL地址){
试一试{
URL rssUrl=新URL(URL地址);
BufferedReader in=新的BufferedReader(新的InputStreamReader(rssUrl.openStream());
字符串sourceCode=“”;
弦线;
而((line=in.readLine())!=null){
如果(第行包含(“”)){
int firstPos=第行indexOf(“”);
字符串温度=行子字符串(第一个位置);
温度=温度替换(“,”);
int lastPos=温度指数(“”);
温度=温度子串(0,最后位置);
sourceCode+=temp+“\n”;
}
}
System.out.println(“YAAAH”+源代码);
in.close();
返回源代码;
}捕获(格式错误){
System.out.println(“格式错误的URL”);
}捕获(ioe异常ioe){
System.out.println(“WTF”);
}
返回null;
}
}
但它一直在捕捉IOException,我看到了“WTF”。 我意识到当
OpenStream()
开始工作时,整个程序都失败了。
我不知道如何修复它。

如前所述,您需要在建立连接之前设置代理参数/凭据

设置代理
用户名
密码
仅在代理通过身份验证的情况下设置

public static String readRSS(String urlAddress) {

System.setProperty("http.proxyHost", YOUR_PROXY_HOST);
System.setProperty("http.proxyPort", YOUR_PROXY_PORT);

//Below 2 for authenticated proxies only
System.setProperty("http.proxyUser", YOUR_USERNAME);
System.setProperty("http.proxyPassword", YOUR_PASSWORD);

 try {
    ...

我在一个代理后面测试了你的方法,设置了参数后,它工作得很好,即

你在代理后面吗?嗯,是的。我支持一个代理。