为什么我的jsoup.connect(url)无法使用某些网址?

时间:2013-01-13 05:56:12

标签: java jsoup connect

我正在尝试从http://tv.atmovies.com.tw/tv/attv.cfm?action=channeltime&channel_id=CH06

获取标题

以下是我的源代码部分:

Document doc = Jsoup.connect( theurl above ).get();

Element title = doc.select("title");

textview.setText(title);

当我尝试从www.yahoo.com获取标题时,此代码可以正常工作。 但它不能像http://tv.atmovies.com.tw/tv/attv.cfm?action=channeltime&channel_id=CH06那样使用网址。为什么会这样?

2 个答案:

答案 0 :(得分:1)

默认情况下,Jsoup跟随redirects。但是,您的问题可能是由重定向的完成方式引起的。如果网站使用javascript,则连接不会被重定向,因为jsoup不支持javascript。

这似乎是原因......

<强> Testcode:

Document doc = Jsoup.connect("http://tv.atmovies.com.tw/tv/attv.cfm?action=channeltime&channel_id=CH06").get();
System.out.println(doc);

<强>输出:

<html>
 <head>
  <script language="javascript">if (top.frames.length != 0) { top.location = self.document.location; }</script> 
  <meta http-equiv="Refresh" content="0;URL=/home/" /> 
 </head>
 <body></body>
</html>

正如我所说:Jsoup不支持javascript,不会在这里重定向。

顺便说一下。你真的需要连接到这个链接?它唯一能做的就是重定向到 home 页面。所以也许你的网址无效。

答案 1 :(得分:0)

此网站 http://tv.atmovies.com.tw/tv/attv.cfm?action=channeltime&channel_id=CH06 “重定向到 http://www.atmovies.com.tw/home/