httpclient 两种方式请求网络

添加依赖  useLibrary 'org.apache.http.legacy'  



public class MainActivity extends Activity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        new Thread(new Runnable() {
            @Override
            public void run() {

//                httpclientGet("http://qhb.2dyt.com/Bwei/login?username=111&password=222&postkey=bwei");


                Map map = new HashMap();
                map.put("username","1fdfdf");
                map.put("password","14444");
                map.put("postkey","bwei");
                httpClientPost("http://qhb.2dyt.com/Bwei/login",map);

            }
        }).start();

    }


    // httpclient get
    public void httpclientGet(String path){

        //创建 HttpClient 对象
        HttpClient client = new DefaultHttpClient();



        //连接  超时
        client.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 20000);
//        读取超时
        client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 60000);
        //创建 HttpGet
        HttpGet get = new HttpGet(path);




        try {
            //
            HttpResponse response =  client.execute(get);


            // 通过 response 对象 获取 状态行 ,通过 状态行 获取 状态吗
            if(response.getStatusLine().getStatusCode() == 200){


                // 获取 返回的实体 获取实体内容
               InputStream inputStream =  response.getEntity().getContent();


               String result =  StringUtils.inputStreamToString(inputStream);




                System.out.println("result = " + result);


            }


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




    }




    /**
     * httpclient post 请求数据
     * @param path 请求路径  接口地址
     * @param map  请求参数
     */
    public void httpClientPost(String path , Map map){




        //创建 HttpClient 对象
        HttpClient client = new DefaultHttpClient();


        //创建 HttpPost 对象 采用post方法请求
        HttpPost post = new HttpPost(path) ;
      



        //传递 参数


        List<BasicNameValuePair> list = new ArrayList<BasicNameValuePair>();
        Set<String> set =  map.keySet() ;


        for(String key : set){
            list.add(new BasicNameValuePair(key,map.get(key).toString()));
        }



        try {


            post.setEntity(new UrlEncodedFormEntity(list));




            HttpResponse response =   client.execute(post) ;
            if(response.getStatusLine().getStatusCode() == 200){


              InputStream inputStream =  response.getEntity().getContent();


               String result =  StringUtils.inputStreamToString(inputStream);


                System.out.println("result = " + result);


            }




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




    }










}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值