2017-08-05 18 views
1

私はAWS EC2でWebサービスをホストしており、Public DNSを使用してWebブラウザからURLにアクセスできます。私はそれをアンドロイドエミュレータから実行してアクセスすると、その "java.net.UnknownHostException:ホストInstance.us-east-2.compute.amazonaws.com/getJSONを解決することができません"AndroidからAmazon EC2インスタンスにアクセスできない

私は許可しているAndroid Manifestのインターネット用。 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にはアクセスできていないようです。 URLを取得したようですが、それでも正しくアクセスできません。あなたのWebサービスが正しくホスティングされていて、現在のファイアウォール設定を完了しているかどうかを確認してください。 –

+0

コードからブラウザに実際のURLをコピーして貼り付け、アクセス可能であることを確認してください。おそらくあなたはミスタイプを持っている可能性があります。 – Putnik

+0

回答をいただきありがとうございます。 @kapsym、私がここで言及したURLは本当のものではありません。私はセキュリティ上の理由からそれを変更しました。しかし、私はWebブラウザからアクセスすると適切な応答を得ることができます。 –

答えて

0

私が使っていたクライアントは、私が使用したURLからの応答を処理できませんでした、私はthis.Sourceリンクを修正するためにAsynHttpClientを使用:http://loopj.com/android-async-http/

関連する問題