zoukankan      html  css  js  c++  java
  • android getpost代码

    GetPostUtil
    public class GetPostUtil
    {
     /**
      * 向指定URL发送GET方法的请求
      * 
      * @param url
      *            发送请求的URL
      * @param params
      *            请求参数,请求参数应该是name1=value1&name2=value2的形式。
      * @return URL所代表远程资源的响应
      */
     public static String sendGet(String url, String params)
     {
      String result = "";
      BufferedReader in = null;
      try
      {
       String urlName = url + "?" + params;
       URL realUrl = new URL(urlName);
       // 打开和URL之间的连接
       URLConnection conn = realUrl.openConnection();
       // 设置通用的请求属性
       conn.setRequestProperty("accept", "*/*");
       conn.setRequestProperty("connection", "Keep-Alive");
       conn.setRequestProperty("user-agent",
        "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
       // 建立实际的连接
       conn.connect();
       // 获取所有响应头字段
       Map<String, List<String>> map = conn.getHeaderFields();
       // 遍历所有的响应头字段
       for (String key : map.keySet())
       {
        System.out.println(key + "--->" + map.get(key));
       }
       // 定义BufferedReader输入流来读取URL的响应
       in = new BufferedReader(
        new InputStreamReader(conn.getInputStream()));
       String line;
       while ((line = in.readLine()) != null)
       {
        result += "
    " + line;
       }
      }
      catch (Exception e)
      {
       System.out.println("发送GET请求出现异常!" + e);
       e.printStackTrace();
      }
      // 使用finally块来关闭输入流
      finally
      {
       try
       {
        if (in != null)
        {
         in.close();
        }
       }
       catch (IOException ex)
       {
        ex.printStackTrace();
       }
      }
      return result;
     }
     /**
      * 向指定URL发送POST方法的请求
      * 
      * @param url
      *            发送请求的URL
      * @param params
      *            请求参数,请求参数应该是name1=value1&name2=value2的形式。
      * @return URL所代表远程资源的响应
      */
     public static String sendPost(String url, String params)
     {
      PrintWriter out = null;
      BufferedReader in = null;
      String result = "";
      try
      {
       URL realUrl = new URL(url);
       // 打开和URL之间的连接
       URLConnection conn = realUrl.openConnection();
       // 设置通用的请求属性
       conn.setRequestProperty("accept", "*/*");
       conn.setRequestProperty("connection", "Keep-Alive");
       conn.setRequestProperty("user-agent",
        "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
       // 发送POST请求必须设置如下两行
       conn.setDoOutput(true);
       conn.setDoInput(true);
       // 获取URLConnection对象对应的输出流
       out = new PrintWriter(conn.getOutputStream());
       // 发送请求参数
       out.print(params);
       // flush输出流的缓冲
       out.flush();
       // 定义BufferedReader输入流来读取URL的响应
       in = new BufferedReader(
        new InputStreamReader(conn.getInputStream()));
       String line;
       while ((line = in.readLine()) != null)
       {
        result += "
    " + line;
       }
      }
      catch (Exception e)
      {
       System.out.println("发送POST请求出现异常!" + e);
       e.printStackTrace();
      }
      // 使用finally块来关闭输出流、输入流
      finally
      {
       try
       {
        if (out != null)
        {
         out.close();
        }
        if (in != null)
        {
         in.close();
        }
       }
       catch (IOException ex)
       {
        ex.printStackTrace();
       }
      }
      return result;
     }
    }

    Activity类代码 

    public class GetPostMain extends Activity
    {
     Button get , post;
     EditText show;
     @Override
     public void onCreate(Bundle savedInstanceState)
     {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      get = (Button) findViewById(R.id.get);
      post = (Button) findViewById(R.id.post);
      show = (EditText)findViewById(R.id.show);
      //利用Handler更新UI
      final Handler h = new Handler(){
       @Override
       public void handleMessage(Message msg) {
        if(msg.what==0x123){
         show.setText(msg.obj.toString());
        }
       }
      };
    
      get.setOnClickListener(new OnClickListener()
      {
       @Override
       public void onClick(View v)
       {
        new Thread(new AccessNetwork("GET", "http://192.168.1.88:8080/abc/a.jsp", null, h)).start();
       }   
      });
      post.setOnClickListener(new OnClickListener()
      {
       @Override
       public void onClick(View v)
       {
        new Thread(new AccessNetwork("POST", "http://192.168.1.88:8080/abc/login.jsp", "name=crazyit.org&pass=leegang", h)).start();
       }   
      }); 
     }
    }
    class AccessNetwork implements Runnable{
     private String op ;
     private String url;
     private String params;
     private Handler h;
    
     public AccessNetwork(String op, String url, String params,Handler h) {
      super();
      this.op = op;
      this.url = url;
      this.params = params;
      this.h = h;
     }
     @Override
     public void run() {
      Message m = new Message();
      m.what = 0x123;
      if(op.equals("GET")){
       Log.i("iiiiiii","发送GET请求");
       m.obj = GetPostUtil.sendGet(url, params);
       Log.i("iiiiiii",">>>>>>>>>>>>"+m.obj);
      }
      if(op.equals("POST")){
       Log.i("iiiiiii","发送POST请求");
       m.obj = GetPostUtil.sendPost(url, params);
       Log.i("gggggggg",">>>>>>>>>>>>"+m.obj);
      }
      h.sendMessage(m);
     }
    }
  • 相关阅读:
    数论 --- 斐波纳挈数列公式的变形
    计算几何 --- 凸包 模板
    计算几何 : 凸包学习笔记 --- Graham 扫描法
    iOS 给图片添加水印
    iOS 生成随机字符串 从指定字符串随机产生n个长度的新字符串
    pod install 出现 Unable to find a specification for `xxxxx` 解决方案
    UITextView 实现链接点击事件
    UILabel图文混排显示图片和文字
    YYLabel 自动布局 富文本文字点击事件
    解决Cornerstone不能上传.a文件的问题 Cornerstone不上传*.xcuserstate,*.xcbkptlist文件
  • 原文地址:https://www.cnblogs.com/xunbu7/p/6501530.html
Copyright © 2011-2022 走看看