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"));即可。
一、获取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"));即可。
相关文章推荐
- APP server 使用httpclient调用第三方环信的server rest接口获取token
- Android 使用httpclient对self-signed certificate网站进行SSL连线
- android使用HttpClient和URLConnection获取网页内容
- 使用httpclient获取其他网站数据(含解析验证码)
- 使用HttpClient 访问Spring OAuth 2.0接口 获取token
- Android 使用httpclient对self-signed certificate网站进行SSL连线
- Android使用jsoup解析音乐网站获取歌名与歌手名显示在ListView上
- android使用HttpURLConnection获取网站源码
- Android 使用httpclient对self-signed certificate网站进行SSL连线
- Android 使用httpclient对self-signed certificate网站进行SSL连线
- Android 使用 HttpClient 从服务器获取数据
- Android 使用httpclient对self-signed certificate网站进行SSL连线
- Android 使用httpclient对self-signed certificate网站进行SSL连线
- android使用友盟推送注册失败获取不到token accs bindapp error!
- [017] Android平台HttpClient的使用-手机号码归属地查询
- Android高手进阶教程(十五)之---通过Location获取Address的使用!
- 使用Android内部的DownloadProvider下载文件,并获取cache权限
- Android 获取已安装应用使用的Permission
- 如何获取和利用“用户及其使用网站原因的信息”
- Android 使用三种方式获取网页(通过Post,Get进行表单的提交)