Android(安卓)使用Post与Get方法进行表单提交数据
16lz
2021-01-26
说明:post与get的区别
get把数据放在地址里传输,不安全且不能传输大数据
post把数据放在body里传输
必须设置 conn.setDoOutput(true);
conn.setRequestProperty(“Content-Type”, “application/x-www-form-urlencoded”);
conn.setRequestProperty(“Content-Length”, data.length() + “”);
public class GetAndPostActivity extends BaseActivity { private TextView mTextView; private String mUrl = "http://192.168.0.20:8080/Web/login"; private Handler mHandler = new Handler(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_http); mTextView = (TextView) findViewById(R.id.textView1); } /** * get请求网络 * @param view */ public void getMethod(View view) { new Thread(new Runnable() { @Override public void run() { final ByteArrayOutputStream bos; try { String name = "tom"; String password = "123"; String url = mUrl + "?name=" + name + "&password=" + password; HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); conn.setReadTimeout(5000); conn.setRequestMethod("GET"); conn.setDoOutput(true); conn.setConnectTimeout(5000); if (conn.getResponseCode() == 200) { InputStream inputStream = conn.getInputStream(); bos = new ByteArrayOutputStream(); int len = 0; byte[] buffer = new byte[1024]; while((len = inputStream.read(buffer ))!=-1){ bos.write(buffer, 0, len); } bos.flush(); inputStream.close(); bos.close(); runOnUiThread(new Runnable() { public void run() { try { mTextView.setText(new String(bos.toByteArray(),"utf-8")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } }); } } catch (Exception e) { e.printStackTrace(); } } }).start(); } /** * post请求网络 * @param view */ public void postMethod(View view) { new Thread(new Runnable() { @Override public void run() { final ByteArrayOutputStream bos; try { String name = "tom"; String password = "123"; String data = "name="+name + "&password=" + password; HttpURLConnection conn = (HttpURLConnection) new URL(mUrl).openConnection(); conn.setReadTimeout(5000); conn.setRequestMethod("POST"); conn.setDoOutput(true); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setRequestProperty("Content-Length", data.length() + ""); conn.setConnectTimeout(5000); OutputStream out = conn.getOutputStream(); out.write(data.getBytes()); if (conn.getResponseCode() == 200) { InputStream inputStream = conn.getInputStream(); bos = new ByteArrayOutputStream(); int len = 0; byte[] buffer = new byte[1024]; while((len = inputStream.read(buffer ))!=-1){ bos.write(buffer, 0, len); } bos.flush(); inputStream.close(); bos.close(); runOnUiThread(new Runnable() { public void run() { try { mTextView.setText(new String(bos.toByteArray(),"utf-8")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } }); } } catch (Exception e) { e.printStackTrace(); } } }).start(); }}
更多相关文章
- Android之旅十三 android中的数据传递方法
- 往Android的Application对象里存储数据的陷阱
- Android(安卓)数据持久化方式
- Android系列学习:JSON解析
- Android(安卓)ormlite 框架介绍
- 录音权限(Android(安卓)8.0)
- Android(安卓)Studio 插件简介
- 提高android ContentProvider的效率
- Android通讯录管理(获取联系人、通话记录、短信消息)(二)