2011-01-14 3 views
1

실패HTTP 요청은이 같은 HTTP 요청 가야

url = new URL(query); 
    Log.d(TAG,url.toString()); 
     connection = url.openConnection(); 
     httpConnection = (HttpURLConnection)connection; 
     int responseCode = httpConnection.getResponseCode(); 
     // HTTP status okay 
     if (responseCode == HttpURLConnection.HTTP_OK) { 
     // preparo stream 
     in = httpConnection.getInputStream(); 
     DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
     DocumentBuilder db = dbf.newDocumentBuilder(); 
     dom = db.parse(in);  
     } 
     // HTTP status fail 
     else{ 
     throw new Exception("responseCode != 200 OK in "+query); 
     } 
     in.close(); 
     httpConnection.disconnect(); 
     _ret = parseXML(dom); 

나는이 예외를 충족하고 나는 그것이 인코딩하지 URL로 인한 것으로 의심 , 어떻게 URL을 인코딩 할 수 있습니까? HTTPURLConnection에 의해 자동으로 인코딩되지 않습니까? 흥분 :

D/dalvikvm(10100): GC freed 3447 objects/513168 bytes in 47ms 
W/System.err(10100): org.xml.sax.SAXParseException: Unexpected end of document 
W/System.err(10100): at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:129) 
W/System.err(10100): at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:157) 
W/System.err(10100): at granet.arounder.webservice.ThreadDatiCard.doInBackground(ThreadDatiCard.java:76) 
W/System.err(10100): at granet.arounder.webservice.ThreadDatiCard.doInBackground(ThreadDatiCard.java:1) 
W/System.err(10100): at android.os.AsyncTask$2.call(AsyncTask.java:185) 
W/System.err(10100): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
W/System.err(10100): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
W/System.err(10100): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068) 
W/System.err(10100): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) 
W/System.err(10100): at java.lang.Thread.run(Thread.java:1096) 

고마워요.

답변

2

예 URL에있는 데이터에 잘못된 공백이 포함되어있어 구문 분석을 원하는 결과를 반환하지 않을 수도 있으므로 urlencoder를 사용하십시오.

http://developer.android.com/reference/java/net/URLEncoder.html

+0

실제로. 당신은 아마 HTML 파일을 돌려받을 것입니다. –