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

HttpUrlConnection用get和post请求发送参数

2017-11-01 10:32 525 查看
final String nameValue = username.getText().toString();
final String passValue = password.getText().toString();
new Thread(){
public void run() {
try {
URL url = new URL(login_url);
HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
urlConn.setConnectTimeout(5*1000);//设置连接时间为5秒
urlConn.setReadTimeout(5*1000);//设置读取时间为5秒
urlConn.setRequestMethod("POST");//设置请求方式为post
urlConn.setDoOutput(true);
urlConn.setDoInput(true);
//添加参数
OutputStream outputStream = urlConn.getOutputStream();
String data = "username="+nameValue+"&password="+passValue;//拼装参数
outputStream.write(data.getBytes());//上传参数
int code = urlConn.getResponseCode();
if(code == 200){//相应成功,获得相应的数据
InputStream is = urlConn.getInputStream();//得到数据流(输入流)

byte[] buffer = new byte[1024];
int length = 0;
String str = "";
while((length = is.read(buffer)) > -1){
str += new String(buffer,0,length);
}
Log.d("main", str);
//解析json,展示在ListView(GridView)
//h.sendMessage(h.obtainMessage(3, str));
LoginResult lr = new Gson().fromJson(str, LoginResult.class);
if(lr.getCode() == 1){
//可以本地保存服务器发送过来的完整的账号信息
User user = lr.getUser();//得到账号的完整信息(从服务器发送过来)
String header = user.getHeader();//得到头像url
Intent it = new Intent(MainActivity.this,SuccessActivity.class);
it.putExtra("headerUrl", header);
startActivity(it);
}else{
Toast.makeText(MainActivity.this, "登陆失败,请重新输入", 0).show();
}
}

} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};
}.start();
login.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
final String nameValue = username.getText().toString();
final String passValue = password.getText().toString();
//访问服务器
new Thread(){
public void run() {
//拼装url
//URLEncoder.encode对汉字进行编码,服务器进行解码设置,解决中文乱码
try {
String lastUrl = login_url + "?username="+URLEncoder.encode(nameValue, "utf-8")+"&password="+passValue;
URL url = new URL(lastUrl);
HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();//开发访问此连接
//设置访问时长和相应时长
urlConn.setConnectTimeout(5*1000);//设置连接时间为5秒
urlConn.setReadTimeout(5*1000);//设置读取时间为5秒
int code = urlConn.getResponseCode();//获得相应码
if(code == 200){//相应成功,获得相应的数据
InputStream is = urlConn.getInputStream();//得到数据流(输入流)
byte[] buffer = new byte[1024];
int length = 0;
String data = "";
while((length = is.read(buffer)) != -1){
String str = new String(buffer,0,length);
data += str;
}

Log.d("main", data);
//解析json,展示在ListView(GridView)
h.sendMessage(h.obtainMessage(2, data));

}

} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

};
}.start();
};
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: