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");
}
あなたのURLにはアクセスできていないようです。 URLを取得したようですが、それでも正しくアクセスできません。あなたのWebサービスが正しくホスティングされていて、現在のファイアウォール設定を完了しているかどうかを確認してください。 –
コードからブラウザに実際のURLをコピーして貼り付け、アクセス可能であることを確認してください。おそらくあなたはミスタイプを持っている可能性があります。 – Putnik
回答をいただきありがとうございます。 @kapsym、私がここで言及したURLは本当のものではありません。私はセキュリティ上の理由からそれを変更しました。しかし、私はWebブラウザからアクセスすると適切な応答を得ることができます。 –