2014-12-11 2 views
0

android get request exception" java.lang.IllegalStateException: целевой хост не должен быть нулевым или задан в параметрах. Схема = нуль, хост = нуль, путь = http://stage1-go.university:80/user/profile { "идентификатор пользователя": "0"}»android get request exception "java.lang.IllegalStateException: целевой хост не должен быть нулевым или задан в параметрах.

Привет, я пытался сделать запрос Получить, код здесь:

public InputStream setGetRequest(String concreteUrl, String jsonAsString) throws IOException { 
     String url = protocol + siteUrl + ":" + httpPort + "/" + concreteUrl + jsonAsString; 
     url = URLEncoder.encode(url, "UTF-8"); 

     HttpGet httpGet = new HttpGet(url); 
     httpGet.setHeader("sessid", ClientAPI.getSessionId()); 

     ResponseHandler<String> responseHandler = new BasicResponseHandler(); 
     HttpClient client = new DefaultHttpClient(); 

     String getServerString = client.execute(httpGet, responseHandler); 
     return null; 
    } 

и здесь мои журналы:

12-11 17:59:50.731 2715-2733/com.podorojnik E/AndroidRuntime﹕ FATAL EXCEPTION: Thread-312 
    Process: com.podorojnik, PID: 2715 
    java.lang.IllegalStateException: Target host must not be null, or set in parameters. scheme=null, host=null, path=http://stage1-go.university:80/user/profile{"userId":"0"} 
      at org.apache.http.impl.client.DefaultRequestDirector.determineRoute(DefaultRequestDirector.java:591) 
      at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:293) 
      at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) 
      at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:653) 
      at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:627) 
      at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:616) 
      at com.zeoalliance.internship.pilotproject.server.NetworkRequest.setGetRequest(NetworkRequest.java:100) 
      at com.zeoalliance.internship.pilotproject.server.NetworkRequest.getInputStream(NetworkRequest.java:60) 
      at com.zeoalliance.internship.pilotproject.server.NetworkRequest.execute(NetworkRequest.java:45) 
      at com.zeoalliance.internship.pilotproject.server.ClientAPI.getUserProfile(ClientAPI.java:156) 
      at com.zeoalliance.internship.pilotproject.activities.MainActivity$1.run(MainActivity.java:58) 
      at java.lang.Thread.run(Thread.java:818) 

Я также добавил специальные разрешения в манифесте, и это не помогло мне

<uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

Может somebod y помочь с этим?

+0

Почему вы это передаете: http://stage1-go.university:80/user/profile {"userId": "0"} ? – BredeBS

+0

Он означает: почему вы добавляете '{" userId ":" 0 "}' к своему URL-адресу. Это недействительно. – greenapps

ответ

0

Вы возвращаете прямо нулевое значение;

В вашем методе setGetRequest поместить ниже код:

String getServerString = client.execute(httpGet, responseHandler); 
     return getServerString ; 

вместо:

String getServerString = client.execute(httpGet, responseHandler); 
     return null; 

Наслаждайтесь !!!

0

у вас есть путь установить в качестве:

path=http://stage1-go.university:80/ 

stage1-go.university не хозяин или даже действительный URL. Нужен домен верхнего уровня, такой как .com, .net или что-то в этом роде. Если это сработает, вы должны быть в состоянии пойти в http://stage1-go.university в любом браузере, но это не сработает - я просто попробовал

+0

это работает, но локально я могу перейти на http://stage1-go.university/ – user3927708

Смежные вопросы