繁体   English   中英

使用apache httpclient如何为http请求设置cookie

[英]Using apache httpclient how to set cookie for http request

我想在发送http请求之前设置abc = 123 cookie。

在回复中,我希望将相同的cookie发回。 但是在响应中我得到abc = 890,其中值由目标服务器设置。

        DefaultHttpClient httpclient = new DefaultHttpClient();
    CookieStore cookieStore = httpclient.getCookieStore();
    BasicClientCookie cookie = new BasicClientCookie("abc", "123");

    // Prepare a request object
    HttpGet httpget = new HttpGet("http://abc.net/restofurl");

    cookieStore.addCookie(cookie);
    httpclient.setCookieStore(cookieStore);

    // Execute the request
    HttpResponse response = httpclient.execute(httpget);

    // Examine the response status
    log.info("Http request response is: " + response.getStatusLine());

    List<Cookie> cookies = cookieStore.getCookies();

    for (int i=0; i<cookies.size();i++) {

        if (cookies.get(i).getName().toString().equals("abc")) {
            log.info("cookie is: " + cookies.get(0).getValue().toString());
            }
    }

谢谢

添加后它起作用了

cookie.setDomain(".xyz.net");
cookie.setPath("/");

是通过改变来解决问题的

log.info("cookie is: " + cookies.get(0).getValue().toString());

log.info("cookie is: " + cookies.get(i).getValue().toString());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM