HttpClient 對 cookie 的處理

gwxd 9年前發布 | 1K 次閱讀 Java

public static void main(String[] args) {
        HttpClient client = new HttpClient();
        NameValuePair[] nameValuePairs = {
                new NameValuePair("username", "aaa"),
                new NameValuePair("passwd", "123456")
        };
        PostMethod postMethod = new PostMethod("登錄url");
        postMethod.setRequestBody(nameValuePairs);
        int stats = 0;
        try {
            stats = client.executeMethod(postMethod);
        } catch (HttpException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        postMethod.releaseConnection();//這里最好把之前的資源放掉
        CookieSpec cookiespec = CookiePolicy.getDefaultSpec();
        Cookie[] cookies = cookiespec.match("域名", 80/端口/, "/" , false , client.getState().getCookies());
        for (Cookie cookie : cookies) {
            System.out.println(cookie.getName() + "##" + cookie.getValue());
        }

    HttpMethod method = null;
    String encode = "utf-8";//頁面編碼,按訪問頁面改動
    String referer = "http://域名";//http://www.163.com
    method = new GetMethod("url2");//后續操作
    method.getParams().setParameter("http.useragent","Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)");
    method.setRequestHeader("Referer", referer);

    client.getParams().setContentCharset(encode);
    client.getParams().setSoTimeout(300000);
    client.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(10, true));

    try {
        stats = client.executeMethod(method);
    } catch (HttpException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    if (stats == HttpStatus.SC_OK) {
        System.out.println("提交成功!");

    }
}</pre> 


 本文由用戶 gwxd 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!