[
https://issues.apache.org/jira/browse/HTTPCLIENT-1267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13508417#comment-13508417
]
Karl Wright commented on HTTPCLIENT-1267:
-----------------------------------------
Tried the HttpContext approach; no difference. Here's a chunk of ManifoldCF
log output showing header logging for HttpClient:
{code}
DEBUG 2012-12-02 19:28:05,499 (Worker thread '1') - WEB: Adding 1 cookies for
'/web/loginpage.html'
DEBUG 2012-12-02 19:28:05,499 (Worker thread '1') - WEB: Cookie '[version:
0][name: JSESSIONID][value: zlammg91w3dnsuc1j9ga3lln][domain: localhost][path:
/web][expiry: null]' added
DEBUG 2012-12-02 19:28:05,499 (Thread-434) - >> GET
/web/loginpage.html?user=foo&password=bar HTTP/1.1
DEBUG 2012-12-02 19:28:05,499 (Thread-434) - >> User-Agent: Mozilla/5.0
(ApacheManifoldCFWebCrawler; [email protected])
DEBUG 2012-12-02 19:28:05,499 (Thread-434) - >> From: [email protected]
DEBUG 2012-12-02 19:28:05,499 (Thread-434) - >> Host: localhost:8191
DEBUG 2012-12-02 19:28:05,499 (Thread-434) - >> Connection: Keep-Alive
DEBUG 2012-12-02 19:28:05,499 (Thread-434) - << HTTP/1.1 302 Found
DEBUG 2012-12-02 19:28:05,499 (Thread-434) - << Set-Cookie:
JSESSIONID=9qxi0v4tn2fi1lcaw5304be7b;Path=/web
DEBUG 2012-12-02 19:28:05,499 (Thread-434) - << Expires: Thu, 01 Jan 1970
00:00:00 GMT
DEBUG 2012-12-02 19:28:05,499 (Thread-434) - << Location:
http://localhost:8191/web/index.html
DEBUG 2012-12-02 19:28:05,499 (Thread-434) - << Content-Length: 0
DEBUG 2012-12-02 19:28:05,499 (Thread-434) - << Server: Jetty(7.5.4.v20111024)
DEBUG 2012-12-02 19:28:05,499 (Worker thread '1') - WEB: Retrieving cookies...
DEBUG 2012-12-02 19:28:05,499 (Worker thread '1') - WEB: Cookie '[version:
0][name: JSESSIONID][value: 9qxi0v4tn2fi1lcaw5304be7b][domain: localhost][path:
/web][expiry: null]'
{code}
As you can see, the cookie gets added to the cookie store, but is then ignored
during the Http GET request that follows.
> There seems to be no way to get HttpClient to include cookies from a custom
> store
> ---------------------------------------------------------------------------------
>
> Key: HTTPCLIENT-1267
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1267
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Components: HttpCookie
> Affects Versions: 4.2.2
> Reporter: Karl Wright
>
> In the port of ManifoldCF from commons-httpclient to httpcomponents, we
> discovered a problem or maybe a design flaw with how cookies are handled.
> What we're trying to do is to follow a certain series of html pages, and
> record the cookies after that is done, and use exactly those cookies for a
> subsequent series of pages. So I have code that looks something like this:
> {code}
> DefaultHttpClient httpClient = new DefaultHttpClient();
> ...
> CookieStore cs = new BasicCookieStore();
> cs.addCookie(...); // for each saved cookie
> httpClient.setCookieStore(cs);
> HttpGet httpget = new HttpGet(...);
> HttpResponse response = httpClient.execute(httpget);
> Cookie[] cookiesToSave = httpClient.getCookieStore().getCookies();
> [save the cookies aside]
> {code}
> What happens when I do this against a page that sets a cookie, is I get a
> perfectly reasonable cookie, and save it. For the next page, the code to add
> the cookie to the custom store then seems to work fine as well. But when I
> watch what is transmitted for the request (via header logging) I see no
> Cookie header being sent, and indeed the cookie seems to be lost.
> Similar logic was done with HttpState in commons-httpclient, and worked
> perfectly there against the same website.
> I have not yet tried the HttpContext approach for implementing this - I may
> try that while awaiting an answer to this ticket, but the above seems like it
> ought to work, according to the documentation.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]