您的位置:首页 > 理论基础 > 计算机网络

Android中Http加载如何得到Cookie和 WebView 加载网页如何得到的Cookie

2017-01-07 00:00 627 查看
摘要: Android开发得到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("\r\n");
}
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息