httpclient的dopost和doget请求

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 params = new ArrayList<>();
                    params.add(new BasicNameValuePair("type","top"));
                    params.add(new BasicNameValuePair("key","597b4f9dcb50e051fd725a9ec54d6653"));
                    //4.创建一个请求实体内容的对象,,,,UrlEncodedFormEntity支持url编码,并且支持form格式
                    //list 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;
    }
 
 

你可能感兴趣的:(httpclient的dopost和doget请求)