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();
        }
    }
}

 

posted @ 2014-12-18 09:50  all_forone  阅读(745)  评论(0编辑  收藏  举报