鍍金池/ 問答/HTML5  Java  C  Linux  網(wǎng)絡(luò)安全/ 一個(gè)奇怪的cookie,sessionid問題

一個(gè)奇怪的cookie,sessionid問題

我遇到了一個(gè)很奇怪的問題。
我在用Java模擬登陸教務(wù)處網(wǎng)站。
但是當(dāng)我進(jìn)行最后一步GET登錄后界面時(shí)
我用之前聽過httpClient獲取的cookie的sessionid無效
用chrome獲取的sessionid可以使用。

然而,在eclipse里無效的sessionid在chrome里也可以使用。
求解。

// 建立連接
        CookieStore cookieStore = new BasicCookieStore();
        HttpClient httpClient = HttpClients.custom().setDefaultCookieStore(cookieStore).build();
        // 發(fā)送GET請(qǐng)求
        HttpGet httpget = new HttpGet(loginUrl);
                
        // 得到response信息
        HttpResponse response = httpClient.execute(httpget);
        ResponseHandler<String> handler = new BasicResponseHandler();
        String body = handler.handleResponse(response);
        
        // 獲得cookie
        String JSESSIONID = null;
        String cookie_user = null;
        String result = null;
        
        List<Cookie> cookies = cookieStore.getCookies();
        for (int i = 0; i < cookies.size(); i++) {
            if (cookies.get(i).getName().equals("JSESSIONID")) {
                JSESSIONID = cookies.get(i).getValue();
            }
            if (cookies.get(i).getName().equals("cookie_user")) {
                cookie_user = cookies.get(i).getValue();
            }
        }
        if (cookie_user != null) {
            result = JSESSIONID;
        }
        System.out.println("cookie長(zhǎng)度"+cookies.size());
        System.out.println("Cookie:"+cookies.toString());
        String myCookie=cookies.get(0).getName()+"="+cookies.get(0).getValue()+"; "+cookies.get(1).getName()+"="+cookies.get(1).getValue();
        System.out.println(myCookie);
        System.out.println("JSESSIONID:"+JSESSIONID);
// 設(shè)置GET頭部
        HttpGet httpget2 = new HttpGet(dataUrl);
        httpget2.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8");
        httpget2.setHeader("Accept-Encoding", "gzip, deflate, br");
        httpget2.setHeader("Accept-Language", "en-US,en;q=0.9,zh;q=0.8,zh-CN;q=0.7");
        httpget2.setHeader("Cache-Control", "max-age=0");
        httpget2.setHeader("Connection", "keep-alive");

        //httpget2.setHeader("Cookie", "JSESSIONID="+JSESSIONID+" SLBMARKN=DDABBAKM");
        httpget2.setHeader("Cookie", "JSESSIONID=08vfh9fTvRx55LQchJNB6lhmyw5pJnJ1B4CWQRwqFxTh87wz7Ypv!587741956; SLBMARKN=DDABBAKM");//用從chrome里獲取的cookie就可以登錄
        
        httpget2.setHeader("Host", "zhjw.neu.edu.cn");
        httpget2.setHeader("Referer", "https://zhjw.neu.edu.cn/ACTIONLOGON.APPPROCESS?mode=1&applicant=ACTIONQUERYSTUDENTSCHEDULEBYSELF");
        httpget2.setHeader("Upgrade-Insecure-Requests", "1");
        httpget2.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36");
回答
編輯回答
愿如初

那你禁用COOKIES,在地址欄在加上COOKIE,試一試看看行不行呢

2017年6月18日 00:23