2011-04-25 45 views
1

我試圖打開以下形式的HTTP連接到某個給定的URL:Android - 如何處理/打開包含非ASCII字符的URL的http連接?

http://example.com/xml.aspx?RssType=1&TypeName=中文 

我想打開HTTP連接到它,得到它的inputStream,並做了一些的InputStream解析(見下面的代碼片段)。但我得到的只是一個MalformedURLException。

任何人都知道這個URL有什麼問題嗎?是參數「?Rss ... & ...」,這是導致問題或非ASCII字符在最後有問題嗎?

代碼片段:

String feed = getString(R.string.feed_url); 

URL url = null; 
HttpURLConnection httpConn = null; 
try { 
    url = new URL(feed); 
    httpConn = (HttpURLConnection) url.openConnection(); 
    if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) { // exception here! 

回答

2

你需要URL編碼參數,特別是中文位。

使用java.net.URLEncoder.encode("中文", "UTF-8") - 爲了安全起見,對於查詢的每個參數值,不僅是TypeName

+0

謝謝!而已。 – Tumer 2011-04-25 15:40:48

相關問題