请求方式GET和POST的简单分别:
get方式是把参数附加到URL地址后面,如:
http://localhost:8080/loginServlet.html?username=123&password=456
post是将请求参数放到请求体中,以流的方式传到服务器,另外上传文件时,一定是post方式
下面的代码是用post方式模拟用户登录
com.yuanlp.qqloginpostandroid.os.Bundleandroid.support.v7.app.AppCompatActivityandroid.text.TextUtilsandroid.view.Viewandroid.widget.Buttonandroid.widget.CheckBoxandroid.widget.EditTextandroid.widget.Toastorg.json.JSONExceptionorg.json.JSONObjectjava.io.BufferedReaderjava.io.InputStreamjava.io.InputStreamReaderjava.net.HttpURLConnectionjava.net.URLjava.net.URLEncoderMainActivity AppCompatActivity { ==EditText EditText CheckBox Button String String (Bundle savedInstanceState) { .onCreate(savedInstanceState)setContentView(R.layout.)= (EditText) findViewById(R.id.)= (EditText) findViewById(R.id.)= (CheckBox) findViewById(R.id.)= (Button) findViewById(R.id.)} (View view){ = .getText().toString().trim()= .getText().toString().trim()(TextUtils.()||TextUtils.()){ Toast.(Toast.).show()} .setEnabled()Thread(){ () { { Thread.()String path=URL url = URL(path)HttpURLConnection conn = (HttpURLConnection) url.openConnection()conn.setRequestMethod()conn.setConnectTimeout()conn.setRequestProperty()String data=+ URLEncoder.()++URLEncoder.()conn.setRequestProperty(String.(data.length()))conn.setDoOutput()conn.getOutputStream().write(data.getBytes())code = conn.getResponseCode()(code==){ InputStream is=conn.getInputStream()BufferedReader br=BufferedReader(InputStreamReader(is))StringBuffer sb=StringBuffer()String len=((len=br.readLine())!=){ sb.append(len)} String result=sb.toString()runToastAnyThread(result)} } (Exception e) { e.printStackTrace()} } }.start()} (String result) { runOnUiThread(Runnable() { () { JSONObject jsonObject={ jsonObject=JSONObject()String code=jsonObject.get().toString()(.equals(code)){ Toast.(getApplicationContext()Toast.).show()}(.equals(code)){ Toast.(getApplicationContext()Toast.).show()} } (JSONException e) { e.printStackTrace()} } })} }
时间: 2024-10-06 09:27:50