zoukankan      html  css  js  c++  java
  • Android中Http加载如何得到Cookie和 WebView 加载网页如何得到的Cookie

    最近做项目在手机端登录Http请求和 WebView 记载登录获取Cookie信息,可查看Cookie信息。

    如图:

    Http请求获取Cookie信息:

      public static String request(String httpUrl, String params, Context context) {
            BufferedReader reader = null;
            String result = null;
            String httpurl = " http://xwwscs.com";
            StringBuffer sbf = new StringBuffer();
            try {
                URL url = new URL(httpurl + "/app.php");
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setRequestMethod("POST");
                connection.setRequestProperty("Cookie", CookieUtil.getParam(context).toString());
                connection.setConnectTimeout(3000);
                // 是否输入参数
                connection.setDoOutput(true);
                byte[] bypes = params.toString().getBytes();
                connection.getOutputStream().write(bypes);// 输入参数
               connection.connect();
                InputStream is = connection.getInputStream();
                reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
                String strRead = null;
                while ((strRead = reader.readLine()) != null) {
                    sbf.append(strRead);
                    sbf.append("
    ");
                }
                reader.close();
                Map<String, List<String>> cookie_map = connection.getHeaderFields();
                List<String> cookies = cookie_map.get("Set-Cookie");
                if (null != cookies && 0 < cookies.size()) {
                    String s = "";
                    for (String cookie : cookies) {
                        if (s.isEmpty()) {
                            s = cookie;
                        } else {
                            s += ";" + cookie;
                        }
                    }
                    Log.i("cookie", s);
                }
                result = sbf.toString();
            } catch (Exception e) {
                result = "error";
                e.printStackTrace();
            }
            return result;
        }
    }

    WebView加载网页获取Cookie

            webView.setWebViewClient(new WebViewClient()
                    {
                @Override
                public boolean shouldOverrideUrlLoading(WebView view,
                        String url) {
                    // TODO Auto-generated method stub
                    return super.shouldOverrideUrlLoading(view, url);
                }
                @Override
                public void onPageFinished(WebView view, String url) {
                    CookieManager cookieManager = CookieManager.getInstance();
                    String CookieStr = cookieManager.getCookie(url);
                    if(CookieStr!=null)
                    {
                        Log.i("cookie", CookieStr);
                    }
                    super.onPageFinished(view, url);
                }
                
              });
        

    源码点击下载:https://github.com/DickyQie/android-webview

  • 相关阅读:
    Java知多少(57)主线程
    Java知多少(56)线程模型
    Java知多少(55)线程
    Java知多少(54)断言详解
    Java知多少(53)使用Java创建自己的异常子类
    Java知多少(52)内置异常
    Java知多少(51)finally
    Java知多少(50)Java throws子句
    Java知多少(49)throw:异常的抛出
    Java知多少(48)try语句的嵌套
  • 原文地址:https://www.cnblogs.com/zhangqie/p/6258914.html
Copyright © 2011-2022 走看看