Java 无法获取网页的源代码

Java 无法获取网页的源代码,java,winamp,Java,Winamp,我正在尝试使用Java从以下站点获取HTML页面源内容:“”。但是Java的默认库在这方面对我没有帮助。我也试过用这个,但也没用。我认为问题的出现是因为网站的安全保护。当我运行下面提供的代码时,我得到一个异常:java.io.IOException:Invalid Http response 有没有关于如何实现代码的想法?或者有什么图书馆可以满足我的需要?到目前为止,我已经尝试了JSoup和JerichoHTML解析器,认为它们将使用不同的方法连接到我提供的站点,但它们也失败了 String u

我正在尝试使用Java从以下站点获取HTML页面源内容:“”。但是Java的默认库在这方面对我没有帮助。我也试过用这个,但也没用。我认为问题的出现是因为网站的安全保护。当我运行下面提供的代码时,我得到一个异常:
java.io.IOException:Invalid Http response

有没有关于如何实现代码的想法?或者有什么图书馆可以满足我的需要?到目前为止,我已经尝试了
JSoup
Jericho
HTML解析器,认为它们将使用不同的方法连接到我提供的站点,但它们也失败了

String urlstr = "http://72.26.204.28:9484/played.html";

try {

    URL url = new URL(urlstr);

    URLConnection urlc = url.openConnection();

    InputStream stream = urlc.getInputStream();
    BufferedInputStream buf = new BufferedInputStream(stream);

    StringBuilder sb = new StringBuilder();

    while ( true){

    int data = buf.read();

    if ( data == -1)
        break;
    else
        sb.append((char)data);
    }

    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
}
编辑(问题解决):在和的帮助下,我设法解决了这个问题。Shoutcast页面需要用户代理来访问其内容。所以我们需要做的就是添加以下代码:

urlConnection.setRequestProperty("User-Agent", "Mozilla/5.0");
最新代码如下所示:

try {
        URL url = new URL("http://207.200.96.231:8008/7.html");
        HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
        urlConnection.setRequestProperty("User-Agent", "Mozilla/5.0");

        InputStream is = urlConnection.getInputStream();
        BufferedInputStream in = new BufferedInputStream(is);
        int c;
        while ((c = in.read()) != -1) {
            System.out.write(c);
        }
        urlConnection.disconnect();
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
}
URL url = new URL("http://207.200.96.231:8008");
URLConnection con = url.openConnection();
InputStream is = con.getInputStream();
BufferedInputStream in = new BufferedInputStream(is);
int c;
while ((c = in.read()) != -1) {
    System.out.write(c);
}

此流似乎需要


此流似乎需要


对不起,我没弄明白。有没有一种方法可以将winamp与java结合使用来获取源代码?我不知道winamp的情况,但您可以按照上面所示读取流。我认为没有什么大的区别,您提供的代码没有解决我的问题,对不起。是的,当我使用您提供的代码时,我仍然会得到
IOException
。我可以得到不同网站的HTML内容。但是这个网站有问题。我只是看到了流。我只敲了几下;他们可能会通过IP地址进行节流。对不起,我没有得到它。有没有一种方法可以将winamp与java结合使用来获取源代码?我不知道winamp的情况,但您可以按照上面所示读取流。我认为没有什么大的区别,您提供的代码没有解决我的问题,对不起。是的,当我使用您提供的代码时,我仍然会得到
IOException
。我可以得到不同网站的HTML内容。但是这个网站有问题。我只是看到了流。我只敲了几下;它们可以通过IP地址进行节流。
URL url = new URL("http://207.200.96.231:8008");
URLConnection con = url.openConnection();
InputStream is = con.getInputStream();
BufferedInputStream in = new BufferedInputStream(is);
int c;
while ((c = in.read()) != -1) {
    System.out.write(c);
}