Android 使用Post与Get方法进行表单提交数据

说明: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,大数据,安全,POST-GET)