1

J'ai hébergé un service Web dans AWS EC2 et vous pouvez accéder à l'URL du navigateur Web à l'aide du DNS public. Lorsque j'y accède en l'exécutant à partir de l'émulateur android, son lancement "java.net.UnknownHostException: Impossible de résoudre l'instance Instance.us-east-2.compute.amazonaws.com/getJSON"Impossible d'accéder à l'instance Amazon EC2 à partir d'Android

i) J'ai donné la permission pour INTERNET dans Android Manifest. ii) J'ai une autorisation de passerelle ouverte 0.0.0.0:0 dans le groupe de sécurité de EC2 Où est-ce que je me trompe?

@Override 
    protected String doInBackground(String... params) { 
     try { 

      // Enter URL address where your json file resides 
      // Even you can make call to php file which returns json data 
      url = new URL("http://Instance.us-east-2.compute.amazonaws.com/getJSON"); 




     } catch (MalformedURLException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      return e.toString(); 
     } 
     try { 

      // Setup HttpURLConnection class to send and receive data from php and mysql 
      conn = (HttpURLConnection) url.openConnection(); 
      conn.setReadTimeout(READ_TIMEOUT); 
      conn.setConnectTimeout(CONNECTION_TIMEOUT); 
      conn.setRequestMethod("GET"); 


      // setDoOutput to true as we recieve data from json file 
      conn.setDoOutput(true); 

     } catch (IOException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
      System.out.println("Printing stack "+e1.toString()); 
      return e1.toString(); 
     } 

     try { 

      int response_code = conn.getResponseCode(); 

      if (response_code == HttpURLConnection.HTTP_OK) { 

       // Read data sent from server 
       InputStream input = conn.getInputStream(); 
       BufferedReader reader = new BufferedReader(new InputStreamReader(input)); 
       StringBuilder result = new StringBuilder(); 
       String line; 

       while ((line = reader.readLine()) != null) { 
        result.append(line); 
       } 

       // Pass data to onPostExecute method 
       return (result.toString()); 

      } else { 

       return ("unsuccessful"); 


} 
+0

Votre URL ne semble pas être accessible. Il semble une URL get mais je suis toujours incapable d'y accéder correctement. Vérifiez si vos services Web sont hébergés correctement et si vous avez configuré le pare-feu en cours –

+0

copiez et collez l'URL réelle de votre code dans votre navigateur et assurez-vous qu'elle est accessible. Très probablement, vous avez une faute de frappe là-bas. – Putnik

+0

Merci pour les réponses. @kapsym, l'URL que j'ai mentionnée ici n'est pas la vraie. Je l'ai modifiée pour des raisons de sécurité. Mais je peux obtenir la bonne réponse quand j'y accède à partir du navigateur Web. –

Répondre