2012-04-14 26 views
2

我試圖讓HTML源從一個網站,用戶輸入,我到目前爲止的代碼串是這樣的:從Android應用閱讀HTML源

public String getURLContent(String url) 
{ 
    try 
    { 
     DefaultHttpClient httpClient = new DefaultHttpClient(); 
     HttpGet httpGet = new HttpGet(url); 
     ResponseHandler<String> resHandler = new BasicResponseHandler(); 
     String page = httpClient.execute(httpGet, resHandler); 
     return page; 
    } 
    catch (ClientProtocolException e) 
    { 
     e.printStackTrace(); 
     return ""; 
    } 
    catch (IOException e) 
    { 
     e.printStackTrace(); 
     return ""; 
    } 
} 

每次我試着運行這個我碰到第二個catch(IOException),根據文檔意味着服務器未能提供有效的響應...我正在測試這樣的網站,如「http:\ www.google.com \」,所以他們應該肯定是響應

+0

您是否添加了如android.permission.INTERNET所需的權限? – Jems 2012-04-14 18:00:57

+0

我只有這一個權限: 有其他嗎? – CHollman82 2012-04-14 18:06:56

+0

如果這實際上是你的網址,那麼這是不正確的。 'www' – FoamyGuy 2012-04-14 18:18:22

回答

1

您的代碼沒問題。請務必貼完整的網站路徑:http://www. [page] . [domain]如:http://www.google.com 和本許可之前添加到AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" /> 

(如果是新項目):

<application android:label="@string/app_name"> 

完整的示例:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="com.example" 
      android:versionCode="1" 
      android:versionName="1.0"> 
    <uses-sdk android:minSdkVersion="10"/> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <application android:label="@string/app_name"> 
     <activity android:name="MyActivity" 
        android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 
       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 
    </application> 
</manifest> 
+0

謝謝,我的清單看起來完全像這樣,我確定我使用了正確的地址(我嘗試了很多),仍然無法正常工作,當我調用httpClient.execute()時仍然被捕獲爲IOException。 ..我現在拉着我的頭髮,你們告訴我代碼看起來不錯! – CHollman82 2012-04-14 22:07:58

+0

嘗試使用調試器,並逐步檢查變量的值 – deadfish 2012-04-14 23:00:25

+0

,並嘗試將網站地址放入新的HttpGet(...至少你會確定地址網站不是問題 – deadfish 2012-04-14 23:03:34

1

除非你想要做一些自定義解析與整個字符串,我會建議你使用一個HTML解析器庫。我使用HTML清潔劑,顯示here

這使得所有的馬爲你工作。

+0

感謝您的提示! – CHollman82 2012-04-15 02:53:21

+0

我編輯了答案,因爲它缺少鏈接。對不起這是我的錯。 ;) – 2012-04-15 08:37:53