HttpUrlConnect GET()和POST()方法请求

public class Utils {
//GET请求
    public  static  String geturlConnect(String urlpath){
        try {
            //得到url
            URL url=new URL(urlpath);
            //得到HttpURLConnection
             HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();

            httpURLConnection.setRequestMethod("GET");
            //进行连接
            httpURLConnection.connect();
            //判断响应码 200为成功
            if (httpURLConnection.getResponseCode()==200){
                System.out.println(" ---------->  "+httpURLConnection.getResponseCode());
                //拿到输入流  进行操作
                InputStream in = httpURLConnection.getInputStream();
                StringBuffer sb=new StringBuffer();
                byte[]buff=new byte[1024];
                int len=-1;
                while ((len=in.read(buff))!=-1){
                    sb.append(new String(buff,0,len,"utf-8"));


                }
                in.close();
                httpURLConnection.disconnect();
                return sb.toString();
            }else {
                return  null;

            }
        } catch (Exception e) {
            e.printStackTrace();
        }


        return  null;
    }

}
------------------------------------------------------------------------
//POST请求
public static String postUrlConnect(String urlPath, Map<String, Object> map){
   //运用Stringbuffer追加
    StringBuffer str = new StringBuffer();
    if (map!=null&&map.size()>0){
      /* for (String key:map.keySet()) {
             str.append(key+"="+map.get(key)+"&");


        }*/



    }
    String request = str.substring(0, str.length() - 1);
    try {

        URL url = new URL(urlPath);
        //URLopenConnection方法得到一个HttpURLConnection(需要强转)
        HttpURLConnection httpURLConnection= (HttpURLConnection) url.openConnection();
        //设置post提交
        httpURLConnection.setRequestMethod("POST");
        //设置超时时间
        httpURLConnection.setConnectTimeout(30000);
        httpURLConnection.setReadTimeout(3000);

        httpURLConnection.setDoInput(true);
        httpURLConnection.setDoOutput(true);
        //把请求正文通过OutputStream发出去
       OutputStream os= httpURLConnection.getOutputStream();
        os.write(request.getBytes());
        os.flush();
        if (httpURLConnection.getResponseCode()==200){
            //HttpURLConnection拿到输入流
           InputStream in= httpURLConnection.getInputStream();
            StringBuffer sb=new StringBuffer();
            //根据输入流做一些IO操作
            byte[] buff =new byte[1024];
            int len=-1;
            while ((len=in.read(buff))!=1){
                sb.append(new String(buff,0,len,"utf-8"));
                Log.d("xxxxx", "postUrlConnect: "+sb.toString());
            }
            in.close();
            os.close();
            httpURLConnection.disconnect();

            return sb.toString();

        }else {
           return null;
        }

    }catch (Exception e){
        Log.e("post","code:"+e.getMessage());
        return null;
    }

}
---------------------------------------------------------
private Handler handler=new Handler(){
     @Override
     public void handleMessage(Message msg) {
         super.handleMessage(msg);
         textView.setText(msg.obj.toString());
     }
 };

 @Override
 protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
     textView = (TextView) findViewById(tv);
     //get方法
    new Thread(){
        @Override
         public void run() {
             String result =
                    Utils.getUrlConnect("http://172.27.0.200/exam/");
     if(result!=null){
        Message msg=Message.obtain();
        msg.obj=result;
         handler.sendMessage(msg);
    }
        }
     }.start();



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值