2017-08-05 198 views
1

我在AWS EC2中托管了Web服务,并且可以使用公共DNS从Web浏览器访问URL。当我通过从android模拟器运行它来访问它时,它抛出“java.net.UnknownHostException:无法解析主机Instance.us-east-2.compute.amazonaws.com/getJSON”无法从Android访问Amazon EC2实例

i)我已经给予权限适用于Android Manifest的INTERNET。 ii)我在EC2 的安全组中有一个开放的网关权限0.0.0.0:0我在哪里出错?

@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

您的网址似乎并没有被访问。这似乎是一个获取URL,但我仍然无法正确访问它。查看您的网络服务是否正确托管,并且您已经完成了当前的防火墙设置 –

+0

将您的代码中的真实网址复制并粘贴到浏览器中,并确保它可以访问。很可能你在那里有错误。 – Putnik

+0

感谢您的答复。 @kapsym,我在这里提到的URL不是真正的。我出于安全原因修改了它。但是,当我从Web浏览器访问它时,我可以得到正确的响应。 –

回答