post请求:
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();
get请求
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(); }; });
HttpUrlConnection用get和post请求发送参数
最新推荐文章于 2023-04-04 10:24:21 发布