Jsoup.connect(url)总是抛出异常

问题描述:

我正在开发一个使用Jsoup帮助从Web中提取信息的Android应用程序。Jsoup.connect(url)总是抛出异常

我的代码是这样的:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    try { 
     String url = "http://www.lcsd.gov.hk/b5/home.php"; 
     Document doc = Jsoup.connect(url).get(); 
     String title = doc.title(); 
     Log.i("ALAN", "Title="+title); 

    } catch (Exception e) { 
     Log.e("ALAN", "Exception!", e); //since I don't know how to open the display of stack trace in eclipse... 
     e.printStackTrace(); 
    } 
} 

另外,我不包括在清单中的Internet权限了。此外,我试图将网址更改为“http://www.google.com/”,它运行良好,并告诉我“title = Google”。

和异常如下:

03-14 11:32:07.151: ERROR/ALAN(29575): Exception! 
03-14 11:32:07.151: ERROR/ALAN(29575): java.nio.charset.UnsupportedCharsetException: The supported charset name is "BIG5-HKSCS". 
03-14 11:32:07.151: ERROR/ALAN(29575):  at ava.nio.charset.Charset.forName(Charset.java:572) 
03-14 11:32:07.151: ERROR/ALAN(29575):  at org.jsoup.helper.DataUtil.parseByteData(DataUtil.java:71) 
03-14 11:32:07.151: ERROR/ALAN(29575):  at org.jsoup.helper.HttpConnection$Response.parse(HttpConnection.java:408) 
03-14 11:32:07.151: ERROR/ALAN(29575):  at org.jsoup.helper.HttpConnection.get(HttpConnection.java:125) 
03-14 11:32:07.151: ERROR/ALAN(29575):  at com.webtest.Webtest.onCreate(Webtest.java:29) 
03-14 11:32:07.151: ERROR/ALAN(29575):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
03-14 11:32:07.151: ERROR/ALAN(29575):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459) 
03-14 11:32:07.151: ERROR/ALAN(29575):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512) 
03-14 11:32:07.151: ERROR/ALAN(29575):  at android.app.ActivityThread.access$2200(ActivityThread.java:119) 
03-14 11:32:07.151: ERROR/ALAN(29575):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863) 
03-14 11:32:07.151: ERROR/ALAN(29575):  at android.os.Handler.dispatchMessage(Handler.java:99) 
03-14 11:32:07.151: ERROR/ALAN(29575):  at android.os.Looper.loop(Looper.java:123) 
03-14 11:32:07.151: ERROR/ALAN(29575):  at android.app.ActivityThread.main(ActivityThread.java:4363) 
03-14 11:32:07.151: ERROR/ALAN(29575):  at java.lang.reflect.Method.invokeNative(Native Method) 
03-14 11:32:07.151: ERROR/ALAN(29575):  at java.lang.reflect.Method.invoke(Method.java:521) 
03-14 11:32:07.151: ERROR/ALAN(29575):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
03-14 11:32:07.151: ERROR/ALAN(29575):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
03-14 11:32:07.151: ERROR/ALAN(29575):  at dalvik.system.NativeStart.main(Native Method) 

请帮帮忙,非常感谢!

+1

请编辑您的问题,以包括例外的细节和痕迹。 – BalusC 2011-03-13 15:57:14

+0

对不起,你能教我如何得到异常的痕迹吗? – 2011-03-13 18:01:14

+0

使用'Log.i(“ALAN”,“Exception!”,e);'代替。 – BalusC 2011-03-13 18:07:08

03-14 11:32:07.151:错误/ ALAN(29575):java.nio.charset.UnsupportedCharsetException:不受支持的字符集名称为“BIG5-HKSCS”。

这归结为您的Java平台不支持此字符集。我不是Android用户,但如果已从Android SDK中删除以节省宝贵的文件/内存空间,我不会感到惊讶。我至少会尝试软件升级或通知http://android.stackexchange.com

请注意,这与Jsoup无关。这里只是信使。