HttpURLConnection——get,post
来源:互联网 发布:淘宝店身份认证复核 编辑:程序博客网 时间:2024/06/01 08:18
1 package com.ch.day4_httpurlconn; 2 3 import java.io.BufferedReader; 4 import java.io.DataOutputStream; 5 import java.io.IOException; 6 import java.io.InputStreamReader; 7 import java.net.HttpURLConnection; 8 import java.net.MalformedURLException; 9 import java.net.URL; 10 import java.util.ArrayList; 11 import java.util.Iterator; 12 import java.util.Vector; 13 14 import android.os.Bundle; 15 import android.os.Handler; 16 import android.app.Activity; 17 import android.view.Menu; 18 import android.view.View; 19 import android.view.View.OnClickListener; 20 import android.widget.Button; 21 import android.widget.TextView; 22 import android.widget.Toast; 23 24 public class MainActivity extends Activity { 25 private TextView jsonData; 26 private Button login; 27 //服务器地址,路径 28 public static final String JSON_URL = "http://169.254.109.73:8080/tqyb/newsList.json"; 29 public static final String LOGIN_URL = "http://169.254.109.73:8080/serverof1407a/loginServlet"; 30 31 //定义一个handler的匿名内部类的对象 32 Handler handler = new Handler(){ 33 public void handleMessage(android.os.Message msg) { 34 if(msg.what == 1){ 35 jsonData.setText((String)msg.obj); 36 }else if(msg.what == 2){ 37 login.setText((String)msg.obj); 38 } 39 }; 40 }; 41 42 @Override 43 protected void onCreate(Bundle savedInstanceState) { 44 super.onCreate(savedInstanceState); 45 setContentView(R.layout.activity_main); 46 47 init(); 48 } 49 50 public void init(){ 51 jsonData = (TextView) findViewById(R.id.jsonData); 52 login = (Button) findViewById(R.id.login); 53 //点击login到服务器登陆验证 54 login.setOnClickListener(new OnClickListener() { 55 @Override 56 public void onClick(View v) { 57 //在次线程中,请求web服务器 58 new Thread(){ 59 public void run() { 60 //调用httpurlconnection的get请求,到服务器请求json数据 61 // String rs = loginByServerByGet("admin", "123456"); 62 63 String rs = loginByServerByPost("admin1", "123456"); 64 //在此次线程中,通过handler把数据传递给主线程,显示在主线程的组件中 65 handler.sendMessage(handler.obtainMessage(2, rs)); 66 if("success".equals(rs)){ 67 //跳转到功能页面, 68 }else{ 69 //提示登录失败,请修改登录信息等等 70 } 71 72 }; 73 }.start(); 74 } 75 }); 76 77 jsonData.setOnClickListener(new OnClickListener() { 78 @Override 79 public void onClick(View v) { 80 //在次线程中,请求web服务器 81 new Thread(){ 82 public void run() { 83 //调用httpurlconnection的get请求,到服务器请求json数据 84 String rs = getJsonFromWeb();//此方法请求web服务器 85 //在此次线程中,通过handler把数据传递给主线程,显示在主线程的组件中 86 handler.sendMessage(handler.obtainMessage(1, rs)); 87 }; 88 }.start(); 89 } 90 }); 91 } 92 //到服务器验证登陆信息,,通过post请求 93 public String loginByServerByPost(String name,String pass){ 94 String rs = ""; 95 URL url = null; 96 HttpURLConnection urlConn = null; 97 BufferedReader br = null; 98 DataOutputStream output = null; 99 // StringBuffer sb = new StringBuffer();//定义缓存字符串,拼装字符串100 try {101 102 url = new URL(LOGIN_URL);//创建和服务器的连接对象URL103 urlConn = (HttpURLConnection) url.openConnection();//打开连接104 urlConn.setConnectTimeout(5*1000);//设置连接超时容忍时间105 urlConn.setReadTimeout(5*1000);//设置读取时间106 107 //设置post请求108 urlConn.setRequestMethod("POST");109 urlConn.setDoInput(true);110 urlConn.setDoOutput(true);111 //通过post请求,向服务器传值112 output = new DataOutputStream(urlConn.getOutputStream());//创建服务器的输出流113 String data = "username="+name+"&userpass="+pass;114 output.write(data.getBytes());115 output.flush();116 output.close();//传值成功,完毕117 118 if(urlConn.getResponseCode() == 200){//如果响应码为200表示响应成功,并且同时成功的相应了数据119 //获得服务器相应的数据,字节输入流(数据流),转换为缓存字符流便于读取120 br = new BufferedReader(new InputStreamReader(urlConn.getInputStream(),"utf-8"));121 rs = br.readLine();//获得服务器返回的简单数据122 System.out.println(rs);123 }124 125 } catch (IOException e) {126 // TODO Auto-generated catch block127 e.printStackTrace();128 }129 130 return rs;//转换为字符串,返回131 }132 //到服务器验证登陆信息,,通过get请求133 public String loginByServerByGet(String name,String pass){134 String rs = "";135 URL url = null;136 HttpURLConnection urlConn = null;137 BufferedReader br = null;138 StringBuffer sb = new StringBuffer(LOGIN_URL);//定义缓存字符串,拼装字符串139 try {140 sb.append("?username="+name);141 sb.append("&userpass="+pass);142 System.out.println(sb.toString());143 url = new URL(sb.toString());//创建和服务器的连接对象URL144 urlConn = (HttpURLConnection) url.openConnection();//打开连接145 urlConn.setConnectTimeout(5*1000);//设置连接超时容忍时间146 urlConn.setReadTimeout(5*1000);//设置读取时间147 if(urlConn.getResponseCode() == 200){//如果响应码为200表示响应成功,并且同时成功的相应了数据148 //获得服务器相应的数据,字节输入流(数据流),转换为缓存字符流便于读取149 br = new BufferedReader(new InputStreamReader(urlConn.getInputStream(),"utf-8"));150 rs = br.readLine();//获得服务器返回的简单数据151 System.out.println(rs);152 }153 154 } catch (IOException e) {155 // TODO Auto-generated catch block156 e.printStackTrace();157 }158 159 return rs;//转换为字符串,返回160 }161 162 163 public String getJsonFromWeb(){164 URL url = null;165 HttpURLConnection urlConn = null;166 BufferedReader br = null;167 StringBuffer sb = new StringBuffer();//定义缓存字符串,拼装字符串168 try {169 url = new URL(JSON_URL);//创建和服务器的连接对象URL170 urlConn = (HttpURLConnection) url.openConnection();//打开连接171 urlConn.setConnectTimeout(5*1000);//设置连接超时容忍时间172 urlConn.setReadTimeout(5*1000);//设置读取时间173 if(urlConn.getResponseCode() == 200){//如果相应码为200表示响应成功,并且同时成功的相应了数据174 //获得服务器相应的数据,字节输入流(数据流),转换为缓存字符流便于读取175 br = new BufferedReader(new InputStreamReader(urlConn.getInputStream(),"utf-8"));176 String str = null;177 while((str = br.readLine()) != null){//一行行的读取,一行行的收集178 sb.append(str);179 }180 }181 182 } catch (IOException e) {183 // TODO Auto-generated catch block184 e.printStackTrace();185 }186 187 return sb.toString();//转换为字符串,返回188 }189 197 }
0 0
- HttpURLConnection——get,post
- Android例子—HttpURLConnection发送POST、GET请求代码示例
- HttpURLConnection get----post
- HttpUrlConnection get,post传输
- HttpURLConnection----Get vs Post
- HttpURLConnection post和get用法
- HttpURLConnection POST/GET 处理方式
- Android中httpURLconnection-post+get
- HttpUrlConnection post和get请求
- HttpURLConnection,get,post,网络请求
- HttpURLconnection/get和post请求
- HttpURLConnection 网络请求 get post
- Android开发点点滴滴——使用HttpURLConnection发送get和post请求
- httpclient的post和get,httpurlconnection的post和get
- 使用HttpURLConnection发送post和get请求
- HttpURLConnection发送post和get请求
- 使用HttpURLConnection发送post和get请求
- Android连网Get、Post和HttpURLConnection
- MFC多线程控制进度条
- 给DedeCms的验证码增加点击刷新功能
- 函数对象
- click在linksys wrt1200AC平台上的交叉编译
- HttpClient——Get,Post
- HttpURLConnection——get,post
- linux系统调用原理
- 数据库SQLiteOpenHelper自创
- 根据网址获取图片
- AsyncTask 异步处理
- XMLPuLL解析
- Dbutils数据库增删改查
- HttpEntity转换Inputstream(红色)加XmlPull解析
- html与Android——webView