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