1.Get请求
try {
//1 定义 URL 地址
URL url = new URL(地址 + 传过来的参数);
//ctrl + h 查看类的继承结构
//ctrl + q 查看方法信息
//2 打开连接
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
//3 设置:请求方法;超时
//请求 方法 GET POST
urlConnection.setRequestMethod("GET");
//超时设置
//读取超时
urlConnection.setReadTimeout(5000);
//连接超时
urlConnection.setConnectTimeout(5000);
//4 连接并获取状态码
//////////////////////////////////
int responseCode = urlConnection.getResponseCode();
if (responseCode == 200) {
//5 读取字节流转换成字符串结果
String result = stream2String(urlConnection.getInputStream());
//操作ui 子线程不要操作ui
Message message = mHandler.obtainMessage(UPDATE_UI, result);
//Message msg = new Message();
mHandler.sendMessage(message);
//info.setText(result);
} else {
Message message = mHandler.obtainMessage(UPDATE_UI, "error: " + responseCode);
//info.setText("error: " + responseCode);
mHandler.sendMessage(message);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//将字节流转换成字符
private String stream2String(InputStream is) throws IOException {
InputStreamReader isr = new InputStreamReader(is, "gbk");//"gbk"是解析码
BufferedReader br = new BufferedReader(isr);
StringBuilder stringBuilder = new StringBuilder();
for (String tmp = br.readLine(); tmp != null; tmp = br.readLine()) {
stringBuilder.append(tmp);
}
return stringBuilder.toString();
}
2.Post请求
try {
//1 url
URL url = new URL(地址);
//2 打开连接
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
//3 请求方式
urlConnection.setRequestMethod("POST");
//超时
urlConnection.setReadTimeout(5000);
urlConnection.setConnectTimeout(5000);
//标识需要输出参数
urlConnection.setDoOutput(true);
//输出参数: tel=xxxxxxxxx
String params = "tel=" + 传过来的参数;
urlConnection.getOutputStream().write(params.getBytes());
urlConnection.getOutputStream().flush();
//获取结果
//状态码
int responseCode = urlConnection.getResponseCode();
String result;
if (responseCode == 200) {//请求成功
result = stream2String(urlConnection.getInputStream(), "gbk");
} else {//没有请求成功
result = "error: " + responseCode;
}
//更新 ui
mHandler.sendMessage(mHandler.obtainMessage(UPDATE_UI, result));
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//将字节流转换为字符流
private String stream2String(InputStream is, String cs) throws IOException {
StringBuilder stringBuilder = new StringBuilder();
InputStreamReader isr = new InputStreamReader(is, cs);
BufferedReader br = new BufferedReader(isr);
for (String tmp = br.readLine(); tmp != null; tmp = br.readLine()) {
stringBuilder.append(tmp);
}
return stringBuilder.toString();
}