2014-10-15 3 views
0

Я пытаюсь получить доступ к запросу HTTPS, но когда я пытаюсь получить к нему доступ из своего приложения для Android, он не доходит до сервера, но тот же URL-адрес отлично работает с http-клиентом Chrome.Https-запрос не доходит до сервера android

Вот мой код POST HTTP запроса

public String POST(String url){ 
    InputStream inputStream = null; 
    String result = ""; 
    try { 
     String jsonreply; 
     StringBuilder builder = new StringBuilder(); 
     HttpClient client = getNewHttpClient(); 
     HttpPost httpPost = new HttpPost(url); 
     Log.d(TAG, "URLS"+url); 
     try { 
      HttpResponse response = client.execute(httpPost); 
      StatusLine statusLine = response.getStatusLine(); 
      int statusCode = statusLine.getStatusCode(); 
      if (statusCode == 200) { 
       HttpEntity entity = response.getEntity(); 
       InputStream content = entity.getContent(); 
       BufferedReader reader = new BufferedReader(
         new InputStreamReader(content)); 
       String line; 
       while ((line = reader.readLine()) != null) { 
        builder.append(line); 
       } 
      } else { 
       Log.d(TAG, "Status code"+statusCode); 
      } 
     } catch (ClientProtocolException e) { 
      e.printStackTrace(); 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     jsonreply = builder.toString(); 
     return jsonreply; 

    } catch (Exception e) { 
     Log.d("InputStream", e.getLocalizedMessage()); 
    } 

    // 11. return result 
    return result; 
} 

код всегда возвращается StatusCode 404 (Not Found). Я очень уверен, что URL-адрес правильный, поскольку я обращаюсь к тому же URL-адресу в других моих приложениях. я не могу предоставить оригинальный URL, но подделка, но похоже это одно

https://test.test.se/user_session.json?email=test.test%40gmail.se&password=>Test12345%21%40%23%24&brand=LGE&phonemodel=Nexus+5&os_version=4.4.4&os_type=Android 

Спасибо за помощь

+0

сервер имеют самозаверенный ли сертификат? – superbAfterSemperPhi

+0

Вы предоставляете параметры в способе GET в вашем примере, это предназначено? –

+0

Да, у моего сервера есть самоподписанный сертификат, мой сервис забирает некоторые данные, поэтому я добавил GET, я думаю, что я ошибаюсь – user2323

ответ

0

Передайте свой адрес в этой функции ..

общественности статической строки readFeed (URL String) {

StringBuilder stringBuilder = new StringBuilder(); 
    HttpClient client = new DefaultHttpClient(); 
    HttpGet httpGet = new HttpGet(URL); 
    try { 
      HttpResponse response = client.execute(httpGet); 
       HttpEntity entity = response.getEntity(); 
       InputStream content = entity.getContent(); 
       BufferedReader reader = new BufferedReader(new InputStreamReader(content)); 
       String line; 
       while ((line = reader.readLine()) != null) 
       { 
        stringBuilder.append(line); 
       } 

    } catch (ClientProtocolException e) 
    { 
     e.printStackTrace(); 
    } catch (IOException e) 
    { 
     e.printStackTrace(); 
    } 
return stringBuilder.toString(); 
} 

Результат является возвращение в формате String.

+0

, но это запрос GET, мой POST – user2323

0

использовать этот один .. try { HttpClient httpclient = new DefaultHttpClient();

  HttpContext localcon=new BasicHttpContext(); 
      HttpGet httpget=new HttpGet(url1); 

      HttpResponse response=httpclient.execute(httpget,localcon); 
      } catch (ClientProtocolException e) { 

       e.printStackTrace(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
2

Я ответил на подобный вопрос здесь, не хочу повторяться, проверьте, работает ли он same issue

+0

Хотя это может ответить на вопрос, лучше предоставить фактическую информацию здесь, а не только ссылку. [Ответы только на ссылку не считаются хорошими ответами и, вероятно, будут удалены] (http://stackoverflow.com/help/deleted-answers). –

+0

ok Я сделаю это дальше ... спасибо –

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