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

  • 相关阅读:
    Git版本控制使用方法入门教程
    github 与git 使用 及配置
    IOS ASI http 框架详解
    block 理解及 简单回调
    IOS在Xcode 4.x以上如何 创建 和 添加 静态库
    dispatch queues GCD
    理解UIApplication(转)
    android 标签对应的代码怎么写alignParentRight、marginRight
    Android 资源文件的命名规范问题
    输入法弹出,屏幕自动适应
  • 原文地址:https://www.cnblogs.com/zhangqie/p/6258914.html
Copyright © 2011-2022 走看看