Я застрял на этой конкретной дилемме в течение некоторого времени, я просмотрел сайт и нашел некоторую помощь, но не по моей конкретной проблеме. Я пытаюсь подключиться к веб-сайту, чтобы извлечь из него данные JSON. Хост - это то, в чем я не уверен:
DefaultHttpClient client = new DefaultHttpClient();
HttpHost targetHost = new HttpHost("www.wunderground.com", 80);
HttpGet httpGet = new HttpGet(urllink); // urllink is "api.wunderground.com/api/my_key/conditions/forecast/hourly/alerts/q/32256.json"
httpGet.setHeader("Accept", "application/json");
httpGet.setHeader("Content-type", "application/json");
HttpResponse response = client.execute(targetHost, httpGet);
HttpEntity entity = response.getEntity();
InputStream instream = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(instream));
StringBuilder stringBuilder = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
stringBuilder.append(line + "\n");
}
} catch (Exception e) {
// print stacktrace
return null;
} finally {
try {
instream.close();
} catch (Exception e) {
// print stacktrace
return null;
}
}
return stringBuilder.toString();
Хост может быть либо www.wunderground.com
, либо api.wunderground.com
, но когда я пробую любой из них, я получаю Unknown host exception
.
Я нашел ошибку. Дело в том, что у меня не было разрешения в манифесте Android!