0%

Java 用HttpClient发送Cookie

因为代码与Java用apache的HttpClient发送Post请求大部份重复,所以就不贴整段代码了,只把不同的地方贴出来。 发送Cookie就必须先得到Cookie,所以至少发送两次请求,第一次用于得到Cookie,第二次在发送请求前加上Cookie 在第一次发送Post请求前,先建立一个DefaultHttpClient对象的引用,在上文中没有建立引用,new了一个DefaultHttpClient对象后直接使用。既然要发送Cookie,必然先要得到Cookie,要得到cookie就需要DefaultHttpClient.在第一次发送请求后,就可以使用DefaultHttpClient对象的getCookieStore(),得到一个CookieStore对象,我们用到的Cookie就存在这里。还是贴一下这几句代码: 上文37行作如下修改:

DefaultHttpClient httpclient=new DefaultHttpClient();
HttpResponse response=httpclient.execute(httppost);
CookieStore cookiestore=httpclient.getCookieStore();
//得到Cookie

第二次请求,把第一次请求的代码再复制一次。当然,变量名会重复,改一下即可。现在要在发送请求之前加上刚才得到的cookie,还是改上文的37行:

DefaultHttpClient httpclient2=new DefaultHttpClient();
httpclient2.setCookieStore(cookiestore);
//把第一次请求的cookie加进去
HttpResponse response2=httpclient2.execute(httppost2);