android HttpURLConnection网络请求数据

 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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓 5

有啥不懂的可以单聊解答....

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值