httpclient的dopost和doget请求

来源:互联网 发布:口琴的选择 知乎 编辑:程序博客网 时间:2024/05/18 03:34
NewslistBeanNewslistBean
1.HttpClient的doget请求
String path = http://api.expoon.com/AppNews/getNewsList/type/1/p/1;HttpClient client=new DefaultHttpClient();HttpGet hg=new HttpGet(path);HttpResponse execute = client.execute(hg);int code = execute.getStatusLine().getStatusCode();if (code== 200){    InputStream inputStream = execute.getEntity().getContent();    String json = streamToString(inputStream,"utf-8");    return json;}
2.httpclient的dopost请求
                  //1.客户端对象
                    HttpClient client = new DefaultHttpClient();
                    String path = "http://v.juhe.cn/toutiao/index";                    //2.指定请求方式的对象                    HttpPost httpPost = new HttpPost(path);
                    //5.创建传递参数的集合....并且把传递的参数放到集合中                    List<BasicNameValuePair> params = new ArrayList<>();
                    params.add(new BasicNameValuePair("type","top"));                    params.add(new BasicNameValuePair("key","597b4f9dcb50e051fd725a9ec54d6653"));
                    //4.创建一个请求实体内容的对象,,,,UrlEncodedFormEntity支持url编码,并且支持form格式                    //list<? extends NameValuePair> params 要给服务器传递的参数,,,所有的参数需要放到集合里面,string encoding指定编码字符集
                    HttpEntity entity = new UrlEncodedFormEntity(params,"utf-8");                    //3.http协议中,post请求方式,请求的参数是在请求的实体内容中....setEntity设置请求实体内容的对象                    httpPost.setEntity(entity);
                    //6.执行post请求                    HttpResponse httpResponse = client.execute(httpPost);
                    //7.获取                    int statusCode = httpResponse.getStatusLine().getStatusCode();                    if (statusCode == 200){                        //获取到响应的字节流                        InputStream inputStream = httpResponse.getEntity().getContent();
                        String json = streamToString(inputStream,"utf-8");
                        Log.i("--json---",json);                    }
3. 转编码的方法
private String streamToString(InputStream inputStream,String charset) {        try {            InputStreamReader inputStreamReader = new InputStreamReader(inputStream,charset);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);            String s = null;            StringBuilder builder = new StringBuilder();            while ((s = bufferedReader.readLine()) != null){                builder.append(s);            }
            bufferedReader.close();            return builder.toString();
        } catch (Exception e) {            e.printStackTrace();        }
        return  null;    }
 
原创粉丝点击