пятница, 12 июля 2013 г.

Android: простой HTTP (GET) запрос

Очень часто при разработке клиентских приложений, приходится писать код для отправки HTTP запроса и получения информации.


Ниже приведен код для отправки GET запроса, в методе можно указать кодировку, адрес, и таймаут.
public String getData(int _timeout, String _encoding, String _url) {
try {
HttpURLConnection connect = (HttpURLConnection) new URL(_url).openConnection();
connect.setRequestMethod("GET");
connect.setRequestProperty("Content-length", "0");
connect.setUseCaches(false);
connect.setAllowUserInteraction(false);
connect.setConnectTimeout(_timeout);
connect.setReadTimeout(_timeout);
connect.connect();

int status = connect.getResponseCode();

switch (status) {
case 200:
case 201:
BufferedReader br = new BufferedReader(new InputStreamReader(
connect.getInputStream(), _encoding));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
br.close();
return sb.toString();
}
} catch (MalformedURLException ex) {
//код обработки ошибки
} catch (IOException ex) {
//код обработки ошибки
}
return null;
}



4 комментария:

  1. Все круто) Но я бы еще добавил коментов в код, побольше, и показал бы примеры работы по JSONRpc и RESTFull API)

    ОтветитьУдалить
  2. в будущем по JSONRpc сам разберусь,и напишу)

    ОтветитьУдалить