当前位置:编程学习 > wap >>

请问如何使用HTTPClient在多线程的情况下保证cookies各自独立?

HttpParams params =new BasicHttpParams();
ConnManagerParams.setTimeout(params, 45000);
  
        HttpConnectionParams.setConnectionTimeout(params, 45000);
      
        HttpConnectionParams.setSoTimeout(params, 45000);
        
        // 设置我们的HttpClient支持HTTP和HTTPS两种模式
        SchemeRegistry schReg =new SchemeRegistry();
        schReg.register(new Scheme("http", PlainSocketFactory
                .getSocketFactory(), 80));
        schReg.register(new Scheme("https", SSLSocketFactory
                .getSocketFactory(), 443));

        // 使用线程安全的连接管理来创建HttpClient
        ClientConnectionManager conMgr =new ThreadSafeClientConnManager(
                params, schReg);
        client =new DefaultHttpClient(conMgr, params);


上面的代码虽然可以在多线程的情况下使用,可是cookies却似乎只有一个,一个client post以后得到了cookies 会被另一个不同线程的client使用
请问在这种情况下应该如何保证cookies各自独立使用? --------------------编程问答-------------------- 补充一下,现在的问题是 
请求同一个链接,但是需要以不同的session 来请求,那么使用ThreadSafeClientConnManager产生的同一个httpclient去访问,似乎会使用相同的cookie

就好比说同时访问CSDN论坛,我希望一个client用张三的账号登陆,另一个client用李四的账号登陆,这个要怎么弄? --------------------编程问答-------------------- 如果用默认的 DefaultHttpClient,只要new 2个似乎就不会把cookies混在一起,但是DefaultHttpClient又没办法在多线程的条件下使用
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,