2011-12-19 6 views
1

Я пытаюсь получить файл csv из url. Но я получаю сообщение об ошибке, какПочему код бросает IllegalArgumentException для следующего кода?

java.lang.IllegalArgumentException: недопустимый символ в запросе на индексе 43:

же код работает для другой URL.

try 
{ 
    String result = ""; 
    HttpClient httpClient = new DefaultHttpClient(); 
    HttpContext localContext = new BasicHttpContext(); 
    HttpGet httpGet = new HttpGet("http://in.finance.yahoo.com/d/quotes.csv?s=^BSESN+^NSEI +LML.NS +LT.NS +RELIANCE.NS +HUL.BO+ONGC.NS+GOLDBEES.BO +ITC.NS +Acc.NS+UNITECH.NS +SPANCO.BO +OCL.NS +LAKSHMIO.BO+POWERGRID.BO+PACIF.BO+COALINDIA.NS+SATYAMCOM.NS+Bhel.ns+SBIN.NS+Plethico.ns+COLPAL.NS+USHAMART.NS+MTNL.NS +RUCHINFRA.NS&f=nl1oc1ghpvjk"); 
    HttpResponse response = httpClient.execute(httpGet, localContext); 
    BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); 
    try 
    { 
     StringBuffer sb = new StringBuffer(); 
     String line; 
     while((line = reader.readLine())!=null) 
     { 
      String rowData[] = line.split(","); 
      sb.append("\n"+rowData[0]); 
     } 
     t.setText(sb.toString()); 
    } 
    catch (Exception e) { 
     // TODO: handle exception 
    } 
} catch (ClientProtocolException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

Заранее спасибо ..

+0

Вашего URL должен быть Malformed http://stackoverflow.com/questions/749709/how-to-deal-with-the-urisyntaxexception –

+0

Спасибо за помощь .. – Archana

ответ

0

Я думаю, там может быть некоторыми Unencoded символов в вашей URL, попробуйте кодирующее вашу строку прежде, чем передавать его в качестве аргумента:

HttpGet httpGet = new HttpGet(Uri.encode("http://in.finance.yahoo.com/d/quotes.csv?s=^BSESN+^NSEI +LML.NS +LT.NS +RELIANCE.NS +HUL.BO+ONGC.NS+GOLDBEES.BO +ITC.NS +Acc.NS+UNITECH.NS +SPANCO.BO +OCL.NS +LAKSHMIO.BO+POWERGRID.BO+PACIF.BO+COALINDIA.NS+SATYAMCOM.NS+Bhel.ns+SBIN.NS+Plethico.ns+COLPAL.NS+USHAMART.NS+MTNL.NS +RUCHINFRA.NS&f=nl1oc1ghpvjk"));