[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-1267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13508667#comment-13508667
 ] 

Karl Wright commented on HTTPCLIENT-1267:
-----------------------------------------

The easiest way to reproduce this is the following:

(0) Make sure you have ant >=1.7 installed, and have your JAVA_HOME set to 
point at a jdk 1.6 or above.
(1) Check out 
https://svn.apache.org/repos/asf/manifoldcf/branches/CONNECTORS-120-1.
(2) Run the following:

ant make-core-deps

This will download all necessary dependencies for the test, including 
httpcomponents core and httpclient.

(3) To exercise the test itself, which fires up a mock session-protected web 
site:

ant run-webcrawler-tests-derby

In its broken state it will run until the test times out, generating reams of 
logging output into the file:

tests/webcrawler/test-output-derby/manifoldcf.log

^C out of the test to stop it before it fills your disk.  If you want to 
inspect the pertinent code itself, you can find it all localized in:

connectors/webcrawler/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/webcrawler/ThrottledFetcher.java

All functional access to httpcomponents is localized there, so luckily there is 
no other place to look.

The httpcomponents libraries, if you should want to replace them, are in the 
"lib" directory, as "httpcore.jar" and "httpclient.jar".  Rerun after a failed 
test by:

ant clean run-webcrawler-tests-derby

Thanks,
Karl
                
> 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]

Reply via email to