您的位置:首页 > 理论基础 > 计算机网络

Android使用HttpURLConnection访问接口

2016-04-06 16:43 393 查看
在Android开发中常常需要访问接口来获取数据,这个时候可以使用HttpURLConnection来连接服务器并获取返回字符串。

我以登陆为例,具体方法如下:

public static String login(String username,String password){
String msg = "";
try {
username = URLEncoder.encode(username,"UTF-8");//这里要注意编码,如果参数含有汉字或是空格(尤其是日期中的空格),不编码会发生错误
password = URLEncoder.encode(password,"UTF-8");
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
//要访问的HttpServlet
String urlStr="http://127.0.0.1:8080/MyProject/getUser?";
//要传递的数
String params ="username="+username+"&password="+password;
urlStr = urlStr+params;
try{
URL url =new URL(urlStr);
//获得连接
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setConnectTimeout(6000);
InputStream in = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in, HTTP.UTF_8));
String line = null;
while ((line = reader.readLine()) != null) {
if(msg==null){
msg=line;
}else{
msg += line;
}
}
reader.close();
in.close();//关闭数据流
conn.disconnect();
}catch(Exception e){
e.printStackTrace();
return null;
}
return msg;
}


这样,该函数返回回来的字符串就是接口返回的字符串,如果该字符串为json格式的,那么按照json去解析便可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: