httpclient4 模拟访问网页 模拟登录 简单例子

     JAVA后台模拟登录一个网站,获得一定权限后进一步操作。

     所用的工具:

                      Apache HttpComponents client 4.3版本

 

     以下为代码:

import org.apache.http.HttpEntity;

import org.apache.http.client.methods.CloseableHttpResponse;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClientBuilder;

import org.apache.http.util.EntityUtils;



public class SimpleClient {





    public  void test() throws Exception {

        HttpGet httpget = null;

        try {



            CloseableHttpClient httpclient = HttpClientBuilder.create().build();



            httpget = new HttpGet("www.baidu.com");

            //HttpGet httpget = new HttpGet(urlWithParams);

            //配置请求的超时设置

          /*  RequestConfig requestConfig = RequestConfig.custom()

                    .setConnectionRequestTimeout(50)

                    .setConnectTimeout(50)

                    .setSocketTimeout(50)

                    .build();

            httpget.setConfig(requestConfig);*/

            CloseableHttpResponse response = httpclient.execute(httpget);

            System.out.println("StatusCode -> " + response.getStatusLine().getStatusCode());





            String set_cookie = response.getFirstHeader("Set-Cookie").getValue();



            //打印Cookie值

            System.out.println(set_cookie.substring(0,set_cookie.indexOf(";")));

            HttpEntity entity = response.getEntity();

            String jsonStr = EntityUtils.toString(entity);//, "utf-8");

            System.out.println(jsonStr);

            httpget.releaseConnection();





        } catch (Exception e) {

            e.printStackTrace();

        } finally {

            httpget.releaseConnection();

        }

    }

}

 

你可能感兴趣的:(httpclient)