HttpURLConnection网络请求数据 由Android中 Java提供的请求方式
Get请求方式
//请求服务器地址
final String path="http://169.254.226.103:8080//LogServer/servlet/LogServlet?username="+username+"&password="+password;//耗时工作在子线程中操作
new Thread(){
public void run(){
try {
//创建url对象
URL url=new URL(path);
//打开一个连接
HttpURLConnection connection=(HttpURLConnection) url.openConnection();
//设置它的请求方式
connection.setRequestMethod("GET");
//设置它的请求超时时间
connection.setConnectTimeout(5000);
//设置超时读取时间
connection.setReadTimeout(3000);
//得到服务区返回的结果吗
int code=connection.getResponseCode();
//利用结果吗判断
if(code==200){
//服务器返回的数据是以流的形式 返回的
InputStream is = connection.getInputStream();
//创建字节数组
byte[] arr=new byte[1024];
int len;
ByteArrayOutputStream baos=new ByteArrayOutputStream();
//循环读去
while((len=is.read(arr))!=-1){
baos.write(arr, 0, len);
}
//得到服务器返回的结果
final String result=baos.toString();
runOnUiThread(new Runnable() {
public void run() {
//使用toast展示数据
Toast.makeText(MainActivity.this, result, 0).show();
}
});
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}.start();
Post请求方式
以下 代码 最终 在子线程中运行 要加线程
//这是使用post请求方式是 用到的 utl
String path="http://169.254.226.103:8080//LogServer/servlet/LogServlet";
String data="username="+username+"&password="+password;
try {
URL url=new URL(path);
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setConnectTimeout(5000);
connection.setReadTimeout(3000);
//允许客户端向服务端发送数据
connection.setDoOutput(true);
//把参数写给服务器
connection.getOutputStream().write(data.getBytes());
//得到服务器返回的结果吗
int code=connection.getResponseCode();
//利用结果码判断
if(code==200){
//服务器返回的数据是以流的形式 返回的
InputStream is = connection.getInputStream();
byte[] arr=new byte[1024];
int len;
ByteArrayOutputStream baos=new ByteArrayOutputStream();
while((len=is.read(arr))!=-1){
baos.write(arr, 0, len);
}
//服务器返回的数据字符串
return baos.toString();
}else{
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
connection.disconnect();
}
return null;