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

Android中使用HttpClient获取网站CSRF token

2018-02-25 17:43 393 查看
当登陆网站时,网站通常会进行csrftoken校验,这是为了防止所谓的CSRF攻击,通常csrftoken都放在用户的cookies中,本文主要讲解如何获取这个token,并如何使用这个token。
一、获取cookies httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet("你的网址");
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
List<Cookie> cookies = httpclient.getCookieStore().getCookies();如此便获取了网站的cookies。
二、获取CSRF token
获取CSRF token相对较为简单,只要找到包含CSRF token的cookies并使用如下函数即可获取: /**
* Get Crsf From Cookies ...
* @param cookie
* @return
*/
private static String getCsrffromCookie( String cookie ) {
return cookie.substring(cookie.indexOf("value: ") + 7, cookie.indexOf("value: ") + 7 + 64);
}三、使用CSRF token
CSRF token通常使用在HttpPost方法中,
如在登陆时: List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("username", username));
nvps.add(new BasicNameValuePair("password", password));
nvps.add(new BasicNameValuePair("csrfmiddlewaretoken", csrf));然后使用 httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CSRF token Android 登陆