zoukankan      html  css  js  c++  java
  • post方式请求数据

    post方式请求数据

    分析:

    1、将请求方式改成post

      conn.setRequestMethod("POST");  

    2、设置连接可以输出

      conn.setDoOutput(true);

    3、告诉服务器客户端提交的数据类型(表单数据)

      conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded;charset=utf-8");

      application/x-www-form-urlencoded代表表单数据

      如果是别的数据,这个部分是不同的,比如文件或者音频视频的二进制数据

    4、创建输出流,给服务器写数据

      OutputStream output=conn.getOutputStream();

      output.write("username=老师".getBytes("UTF-8"));

      output.close();

      故服务器会受到老师这两个字

     1 package com.example.htmldaimachakanqi;
     2 
     3 import java.io.IOException;
     4 import java.io.InputStreamReader;
     5 import java.io.OutputStream;
     6 import java.io.UnsupportedEncodingException;
     7 import java.net.HttpURLConnection;
     8 import java.net.MalformedURLException;
     9 import java.net.URL;
    10 
    11 import android.app.Activity;
    12 import android.os.AsyncTask;
    13 import android.os.Bundle;
    14 import android.util.Log;
    15 import android.view.View;
    16 import android.widget.EditText;
    17 
    18 public class MainActivity extends Activity {
    19     private EditText et_content;
    20 
    21     @Override
    22     protected void onCreate(Bundle savedInstanceState) {
    23         super.onCreate(savedInstanceState);
    24         setContentView(R.layout.activity_main);
    25         et_content = (EditText) findViewById(R.id.et_content);
    26     }
    27 
    28     public void onClick(View view) throws UnsupportedEncodingException {
    29         new AsyncTask<String, Void, String>() {
    30             @Override
    31             protected String doInBackground(String... params) {
    32                 StringBuffer buffer=new StringBuffer();
    33                 try {
    34                     Log.d("bh", params[0]);
    35                     // 封装了URL对象
    36                     URL url = new URL(params[0]);
    37                     // 获取http连接对象
    38                     HttpURLConnection conn = (HttpURLConnection) url
    39                             .openConnection();
    40                     // 设置请求的方式  
    41                     conn.setRequestMethod("POST");  
    42                     // 设置请求的超时时间  
    43                     conn.setReadTimeout(5000);  
    44                     conn.setConnectTimeout(5000);
    45                     //设置连接是否可以输出
    46                     conn.setDoOutput(true);
    47                    //设置连接是否可以输入
    48                     conn.setDoInput(true);
    49                     //告诉服务器客户端提交的数据类型(表单数据)
    50                     conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
    51                     OutputStream output=conn.getOutputStream();
    52                     output.write("username=老师".getBytes("UTF-8"));
    53                     output.close();
    54                     // 获取状态码
    55                     int code = conn.getResponseCode();
    56                     Log.d("bh",code+"");
    57                     if (code == 200) {// 请求成功
    58                         Log.d("bh",conn.getHeaderFields().toString());
    59                         // 获取响应消息的实体内容
    60                         InputStreamReader reader = new InputStreamReader(
    61                                 conn.getInputStream());
    62                         char[] charArr = new char[1024 * 8];
    63                         int len = 0;
    64                         while ((len = reader.read(charArr)) != -1) {
    65                             // 字符数组转字符串
    66                             String str = new String(charArr, 0, len);
    67                             // 在结尾追加字符串
    68                             buffer.append(str);
    69                         }
    70                     }
    71                 } catch (MalformedURLException e) {
    72                     e.printStackTrace();
    73                 } catch (IOException e) {
    74                     e.printStackTrace();
    75                 }
    76                 return buffer.toString();
    77             }
    78 
    79             protected void onPostExecute(String result) {
    80                 // 设置字符串到编辑框
    81                 et_content.setText(result);
    82             };
    83         }.execute("http://192.168.1.100:8080/WEB/TestServlet");
    84     }
    85 }
  • 相关阅读:
    在次转发IBATIS模糊查询
    IBatisNet 模糊查询
    转js动态给table添加行(tr)
    简单的ajax(菜鸟级)
    Redis消息通知系统的实现 新风宇宙
    彻底删除SVN版本库某一文件夹或文件 新风宇宙
    代码审查:ThoughtBot官方给出的代码审查指导原则 新风宇宙
    linux下php代码加密扩展beast 新风宇宙
    利用curl的API进行开发 新风宇宙
    Linux 日志服务器搭建(rsyslog+loganalyzer) 新风宇宙
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/7489187.html
Copyright © 2011-2022 走看看