HTTPclient 模拟登陆及登陆成功后直接访问登陆后的页面

public class HttpClientTest {  
    public void test(){
            CookieStore cookieStore = new BasicCookieStore();
            HttpClientContext localContext = new HttpClientContext();
            CloseableHttpClient httpclient = HttpClients.createDefault();
            localContext.setCookieStore(cookieStore);
            HttpPost httppost = new HttpPost("登陆验证接口");
            List formParams = new ArrayList();
            formParams.add(new BasicNameValuePair("userName", "userName"));
            formParams.add(new BasicNameValuePair("password", "password"));
            try {
                UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formParams, "UTF-8");
                httppost.setEntity(entity);
                // 提交登录数据
                HttpResponse re = httpclient.execute(httppost, localContext);
                EntityUtils.toString(re.getEntity());
                // 获取cookie
                List cook = cookieStore.getCookies();
                for(Cookie c:cook){
                    //设置cookie
                    BasicClientCookie cookie = new BasicClientCookie(c.getName(), c.getValue());   
                      cookie.setVersion(0);    
                      cookie.setDomain("gang666.top");   //设置范围  
                      cookie.setPath("/");   
                      cookieStore.addCookie(cookie);
                }
                 // 构造一个新的get请求,用来测试登录是否成功
                HttpGet newGet = new HttpGet("登陆成功后访问的路径");
                re = httpclient.execute(newGet, localContext);
                EntityUtils.toString(re.getEntity());
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    }





maven配置:


        org.apache.httpcomponents
            httpclient
        4.4.1
        

        
                org.apache.httpcomponents
                httpcore
             4.4.1
        
 

你可能感兴趣的:(HTTPclient)