android webview 获取cookie,Android中Http加载如何得到Cookie和 WebView 加载网页如何得到的Cookie...

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

如图:

95363367aaa3a58b60e291be2b93a2a0.png

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("\r\n");

}

reader.close();

Map> cookie_map = connection.getHeaderFields();

List 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);

}

});