我需要了解我的項目在Android上使用Web服務的情況。我知道沒有XML-RPC Web服務的官方庫。Android - 使用HTTP GET讀取XML文件
但有REST XML,我需要測試它。
我想通過HTTP GET從我的網頁上讀取XML(我必須通過用戶名和密碼)。
OR
想,我跟着This link,然後我在哪裏可以通過用戶名和密碼?
任何人都可以幫助我做到這一點。
我需要了解我的項目在Android上使用Web服務的情況。我知道沒有XML-RPC Web服務的官方庫。Android - 使用HTTP GET讀取XML文件
但有REST XML,我需要測試它。
我想通過HTTP GET從我的網頁上讀取XML(我必須通過用戶名和密碼)。
OR
想,我跟着This link,然後我在哪裏可以通過用戶名和密碼?
任何人都可以幫助我做到這一點。
HttpGet uri = new HttpGet("http://example.com");
DefaultHttpClient client = new DefaultHttpClient();
HttpResponse resp = client.execute(uri);
StatusLine status = resp.getStatusLine();
if (status.getStatusCode() != 200) {
Log.d(tag, "HTTP error, invalid server status code: " + resp.getStatusLine());
}
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(resp.getEntity().getContent());
不要忘了關閉你的HTTP請求! resp.getEntity()。consumeContent() - 只有在XML解析沒有完全讀取文件的情況下才需要這樣做,所以在某種形式的finally塊中。 – Nick 2010-08-04 20:57:20
@尼克耶!實際上,這只是我運行的更大代碼的一小部分。我剛拿了相關部分開始。 – Gianni 2010-08-04 21:37:58
酷豆 - 這只是HTTP請求中的常見錯誤,所以我想我會提及它爲大家的利益。就我個人而言,我喜歡使用帶有ResponseHandler的execute()方法,因爲它們保證在處理程序被調用後所有內容都被釋放。 – Nick 2010-08-04 22:07:16
此鏈接幫助我開始瞭解如何使用SAX解析器進行HTTP GET XML和解析。
http://www.anddev.org/parsing_xml_from_the_net_-_using_the_saxparser-t353.html
希望這有助於爲HTTP基本驗證碼
ITOM
@iTom ...我已經閱讀過這篇文章....但是我該如何傳遞「用戶名」和「密碼」的值..... btw thanx – 2010-08-03 09:35:23
通過GET請求,表單值通常會附加到URI請求,而不是張貼 即 http://www.example.com/webservice.php?username=iTom&password=MyPassword 希望有所幫助,iTom – iTom 2010-08-03 09:46:01
哦,如果你的一個函數構建GET請求的URI之後,那麼這篇文章可能也幫助.. http://www.anddev.org/doing_http_post_with_android-t492.html – iTom 2010-08-03 09:56:04
幾行,如果你的意思是這一點。
String auth = Base64Converter.encode(String.format("%s:%s", user, pass));
URL u = new URL(url);
conn = (HttpsURLConnection) u.openConnection();
conn.addRequestProperty("Authorization", "Basic " + auth);
其中「Base64Converter」是一個工具類將字符串轉換爲其Base64編譯形式。 在parsingxml.java,第36行的openConnection()調用之前執行此操作。
我認爲這可以幫助我...讓我試試...給你的答覆,如果運行..支持 – 2010-08-04 05:07:05
Base64Converter不支持在Android..showing紅線下(錯誤)的Base64Converter – 2010-08-04 09:03:58
@Paresh是的Base64Converter是一個我在其他地方找到的公共領域工具類。谷歌搜索可能會讓你找到合適的地方。 Android意味着提供了一個Base64編碼器/解碼器類,但實際上不適用於應用程序開發人員。 – Ryan 2010-08-09 12:23:28
請問用戶名和密碼是怎麼樣的?如果是HTTP Basic Auth,那麼HttpClient庫支持這個,你可以添加Gianni的代碼。 – Nick 2010-08-04 21:00:41