网络请求工具类:
public class HttpUtil {
public static StringBuilder httpGet(String address) {
HttpURLConnection connection = null;
try {
URL url = new URL(address);
connection = (HttpURLConnection) url.openConnection();
// 请求方式
connection.setRequestMethod("GET");
// 连接超时
connection.setConnectTimeout(8000);
// 读取超时
connection.setReadTimeout(8000);
connection.connect();
// 获取输入流
InputStream in = connection.getInputStream();
BufferedReader reader = new BufferedReader(
new InputStreamReader(in, "UTF-8"));
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
response.append(line);
}
return response;
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (connection != null) {
connection.disconnect();
}
}
return null;
}
public static StringBuilder httpPost(String address) {
HttpURLConnection connection = null;
try {
URL url = new URL(address);
connection = (HttpURLConnection) url.openConnection();
// 请求方式
connection.setRequestMethod("POST");
// 连接超时
connection.setConnectTimeout(8000);
// 读取超时
connection.setReadTimeout(8000);
connection.connect();
// 获取输入流
InputStream in = connection.getInputStream();
BufferedReader reader = new BufferedReader(
new InputStreamReader(in, "UTF-8"));
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
response.append(line);
}
return response;
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (connection != null) {
connection.disconnect();
}
}
return null;
}
}
调用方法:
new Thread(new Runnable() {
@Override
public void run() {
StringBuilder response = HttpUtil.httpGet(url);
if (response != null) {
Message message = new Message();
message.what = 0;
message.obj = response;
myHandler.sendMessage(message);
}
}
}).start();
最后在handler中处理请求结果。