title: Java IllegalArgumentException Illegal character in query at index
body: <p>I'm using the code below, which works fine when I use <code>http://stackoverflow.com/</code> .  When I change it to <code>http://www.sitetest.com/query.php?request=how are you</code> My app throws an exception. It says:</p>
  
  <pre><code>Caused by: java.lang.IllegalArgumentException: Illegal character in query at index 46: http://www.sitetest.com/query.php?request=how %20are%20you?
  </code></pre>
  
  <p>What is the Illegal Character in there? I can't spot it.</p>
  
  <pre><code>  AsyncTask&lt;String, String, String&gt; result = new RequestTask().execute("http://www.sitetest.com/query.php?request=how are you"); 
          try { 
              this.textToSpeech(result.get().trim());
          } catch (InterruptedException e) { 
              //e.printStackTrace();
              Toast.makeText(this, "Interrupted",
                      Toast.LENGTH_LONG).show();
          } catch (ExecutionException e) { 
              Toast.makeText(this, e.getMessage(),
                      Toast.LENGTH_LONG).show();
              //e.printStackTrace();
          }
  </code></pre>
  
  <blockquote>
  <pre><code>12-22 19:17:32.547: E/AndroidRuntime(20764): FATAL EXCEPTION: AsyncTask #1
  12-22 19:17:32.547: E/AndroidRuntime(20764): java.lang.RuntimeException: An error occured while executing doInBackground()
  12-22 19:17:32.547: E/AndroidRuntime(20764):    at android.os.AsyncTask$3.done(AsyncTask.java:299)
  12-22 19:17:32.547: E/AndroidRuntime(20764):    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
  12-22 19:17:32.547: E/AndroidRuntime(20764):    at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
  12-22 19:17:32.547: E/AndroidRuntime(20764):    at java.util.concurrent.FutureTask.run(FutureTask.java:239)
  12-22 19:17:32.547: E/AndroidRuntime(20764):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
  12-22 19:17:32.547: E/AndroidRuntime(20764):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
  12-22 19:17:32.547: E/AndroidRuntime(20764):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
  12-22 19:17:32.547: E/AndroidRuntime(20764):    at java.lang.Thread.run(Thread.java:856)
  12-22 19:17:32.547: E/AndroidRuntime(20764): Caused by: java.lang.IllegalArgumentException: Illegal character in query at index 46: http://www.sitetest.com/query.php?request=how %20are%20you?
  12-22 19:17:32.547: E/AndroidRuntime(20764):    at java.net.URI.create(URI.java:727)
  12-22 19:17:32.547: E/AndroidRuntime(20764):    at org.apache.http.client.methods.HttpGet.&lt;init&gt;(HttpGet.java:75)
  12-22 19:17:32.547: E/AndroidRuntime(20764):    at com.sitetest.chat.MainActivity$RequestTask.doInBackground(MainActivity.java:170)
  12-22 19:17:32.547: E/AndroidRuntime(20764):    at com.sitetest.chat.MainActivity$RequestTask.doInBackground(MainActivity.java:1)
  12-22 19:17:32.547: E/AndroidRuntime(20764):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
  12-22 19:17:32.547: E/AndroidRuntime(20764):    at java.util.concurrent.FutureTask.run(FutureTask.java:234)
  12-22 19:17:32.547: E/AndroidRuntime(20764):    ... 4 more
  </code></pre>
  </blockquote>