HttpClient 4得注意的问题如下

来源:互联网 发布:淘宝用假单号骗货 编辑:程序博客网 时间:2024/05/21 21:38

情况1. 当运用cookie时,明明是已经有取得 cookie的了。但就是登陆不了。就得用情况1的代码了。其他的可用非(情况1)的代码。

HttpParams params = new BasicHttpParams();
   HttpConnectionManagerParams.setMaxTotalConnections(params, 1000);// 设置总并行处理件数
   HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
   // Create and initialize scheme registry
   SchemeRegistry schemeRegistry = new SchemeRegistry();
   schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
   ClientConnectionManager cm = new ThreadSafeClientConnManager(params,schemeRegistry);
   DefaultHttpClient httpclient = new DefaultHttpClient(cm, params);
   // DefaultHttpClient httpclient = new DefaultHttpClient();
   httpclient.getParams().setParameter (ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY);
         
        // Create a local instance of cookie store
        CookieStore cookieStore = new BasicCookieStore();
       
        // Obtain default HTTP context
        HttpContext defaultContext = httpclient.getDefaultContext();
        // Create local HTTP context
        HttpContext localContext = new BasicHttpContext(defaultContext);
        // Bind custom cookie store to the local context
        localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);

       HttpGet httpget = new HttpGet("http://www1.poco.cn/login/");

 

情况2。

   HttpParams params = new BasicHttpParams();
        HttpConnectionManagerParams.setMaxTotalConnections(params, 1000);//        HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);

        HttpClient httpclient = new DefaultHttpClient(params);
        // Create a local instance of cookie store
        CookieStore cookieStore = new BasicCookieStore();
       
        // Obtain default HTTP context
        HttpContext defaultContext = httpclient.getDefaultContext();
        // Create local HTTP context
        HttpContext localContext = new BasicHttpContext(defaultContext);
        // Bind custom cookie store to the local context
        localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);
       
        HttpGet httpget = new HttpGet(
   "http://reg.bokee.com/account/LoginCtrl.b");

 

情况3:

       HttpClient httpclient = new DefaultHttpClient();
  
        // Create a local instance of cookie store
        CookieStore cookieStore = new BasicCookieStore();
       
        // Obtain default HTTP context
        HttpContext defaultContext = httpclient.getDefaultContext();
        // Create local HTTP context
        HttpContext localContext = new BasicHttpContext(defaultContext);
        // Bind custom cookie store to the local context
        localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);

        HttpGet httpget = new HttpGet("http://sys2.blogcn.com/control/login.jsp");

原创粉丝点击