----------2016年10月16日21:50:54
1、访问网络是耗时操作,放在子线程中执行
new Thread(new Runnable() {
public void run() {
//具体操作。。。。
}
}).start();
2、Get方式请求
//要获取数据的URL地址
String newsPath_url="http://"+服务器IP地址+":"+服务端口号+"/"+项目路径";
//获取一个url对象,通过url对象得到一个urlconnnection对象
URL url = new URL(newsPath_url);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//设置连接的方式和超时时间
connection.setRequestMethod("GET");
connection.setConnectTimeout(10*1000);
//获取请求响应码
int code = connection.getResponseCode();
if(code == 200){//请求成功
//获取请求到的流信息
InputStream inputStream = connection.getInputStream();
对流进行操作,获取数据
......
}
3、Post方式请求
post方式比Get多了请求的内容:username=root&password=root
String body = "username="+username+"&password="+password;
//设置UrlConnection可以写请求的内容
openConnection.setDoOutput(true);
//获取一个outputstream,并将内容写入该流
openConnection.getOutputStream().write(body.getBytes());
4、乱码处理
1.客户端发送服务端乱码:
在发送请求时,有时服务端接收到的数据可能是乱码,所以,在请求前统一编码:UTF-8
URLEncoder.encode(username,"utf-8")
2.服务端发客户端乱码:
服务端:
将要发送的数据以utf-8编码方式写入输出流,
response.getOutputStream().write("XXX".getBytes("utf-8"));
1、访问网络是耗时操作,放在子线程中执行
new Thread(new Runnable() {
public void run() {
//具体操作。。。。
}
}).start();
2、Get方式请求
//要获取数据的URL地址
String newsPath_url="http://"+服务器IP地址+":"+服务端口号+"/"+项目路径";
//获取一个url对象,通过url对象得到一个urlconnnection对象
URL url = new URL(newsPath_url);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//设置连接的方式和超时时间
connection.setRequestMethod("GET");
connection.setConnectTimeout(10*1000);
//获取请求响应码
int code = connection.getResponseCode();
if(code == 200){//请求成功
//获取请求到的流信息
InputStream inputStream = connection.getInputStream();
对流进行操作,获取数据
......
}
3、Post方式请求
post方式比Get多了请求的内容:username=root&password=root
String body = "username="+username+"&password="+password;
//设置UrlConnection可以写请求的内容
openConnection.setDoOutput(true);
//获取一个outputstream,并将内容写入该流
openConnection.getOutputStream().write(body.getBytes());
4、乱码处理
1.客户端发送服务端乱码:
在发送请求时,有时服务端接收到的数据可能是乱码,所以,在请求前统一编码:UTF-8
URLEncoder.encode(username,"utf-8")
2.服务端发客户端乱码:
服务端:
将要发送的数据以utf-8编码方式写入输出流,
response.getOutputStream().write("XXX".getBytes("utf-8"));