I am using Apache HttpClient 4 in Java.
Why doesn't HttpClient send the cookie specified by the "request" response to post1?
public static void goDoIt() throws ClientProtocolException, IOException {
HttpClient client = new DefaultHttpClient();
HttpHost proxy = new HttpHost("127.0.0.1", 8888);
client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
CookieStore cookieStore = new BasicCookieStore();
HttpContext localContext = new BasicHttpContext();
localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);
HttpGet request = new HttpGet("http://www.websitename.de");
request.addHeader("Host", "hosthost.de");
request.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1");
HttpResponse response1 = client.execute(request, localContext);
request.abort();
List<NameValuePair> parameters1 = new ArrayList<NameValuePair>();
parameters1.add(new BasicNameValuePair("username", "karl"));
parameters1.add(new BasicNameValuePair("age", "23"));
parameters1.add(new BasicNameValuePair("button","button"));
HttpPost post1 = new HttpPost("http://websitename.de/Default.aspx");
post1.addHeader("Host","hosthost.de");
post1.addHeader("User-Agent",
"Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1");
post1.addHeader("Referer","http://websitename.de/Default.aspx");
UrlEncodedFormEntity entity1 = new UrlEncodedFormEntity(parameters1);
post1.setEntity(entity1);
HttpResponse response2 = client.execute(post1,localContext);
HttpEntity entity2 = response2.getEntity();
System.out.println(EntityUtils.toString(entity2));
}
I used Fiddler2 to view traffic, and when I compare Post with my code on one of Firefox, I see no difference, except that my code does not send cookies.
source
share