Android WebView详解之自动登录
来源:互联网 发布:淘宝渔具店哪家好 编辑:程序博客网 时间:2024/06/16 02:22
目前该方法还没有测试成功,这里先做一下笔记,方便以后继续优化。
1、WebView的Java类中:
new HttpCookie(handler).start();//启动获取cookie方法并传入<span style="font-family: Arial, Helvetica, sans-serif;">handler。</span>
public Handler handler = new Handler(){public void handleMessage(android.os.Message msg) {CookieSyncManager.createInstance(MainActivity.this);CookieManager cookieManager = CookieManager.getInstance();cookieManager.setAcceptCookie(true);cookieManager.setCookie("http://www.gytaobao.cn:9001/zjt/", cookies);CookieSyncManager.getInstance().sync();webView.loadUrl("http://www.gytaobao.cn:9001/zjt/login.html"); //重新加载登录页面};};
2、获取cookie的Java类:
import java.io.IOException;import java.io.UnsupportedEncodingException;import java.util.ArrayList;import java.util.List;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpPost;import org.apache.http.cookie.Cookie;import org.apache.http.impl.client.AbstractHttpClient;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.message.BasicNameValuePair;import android.os.Handler;import android.os.Message;import android.util.Log;public class HttpCookie extends Thread {private Handler handler;public HttpCookie(Handler handler){this.handler = handler;}@Overridepublic void run() {// TODO Auto-generated method stubHttpClient client = new DefaultHttpClient();HttpPost post = new HttpPost("http://www.gytaobao.cn:9001/zjt/login.do");//登陆后跳转页面的地址List<NameValuePair> list = new ArrayList<NameValuePair>();list.add(new BasicNameValuePair("user", "1"));//登录验证信息,key与服务端name相同list.add(new BasicNameValuePair("pas", "2"));try {post.setEntity(new UrlEncodedFormEntity(list));HttpResponse response = client.execute(post);if(response.getStatusLine().getStatusCode() == 200){AbstractHttpClient absClent = (AbstractHttpClient) client;List<Cookie> cookies = absClent.getCookieStore().getCookies();for(Cookie cookie:cookies){//打印信息与上面传入信息相同Log.e(">>>>>>>>>>>>>>>>>>>", "name=" + cookie.getName() + "password=" + cookie.getValue());Message message = new Message();message.obj = cookie;handler.sendMessage(message);return;}}} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();}catch (ClientProtocolException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
其他获取cookie的方法:
private class MyWebViewClient extends WebViewClient { public boolean shouldOverrideUrlLoading(WebView view, String url) { webview.loadUrl(url); return true; } public void onPageFinished(WebView view, String url) { CookieManager cookieManager = CookieManager.getInstance(); String CookieStr = cookieManager.getCookie(url); Log.e("sunzn", "Cookies = " + CookieStr); super.onPageFinished(view, url); }}
0 0
- Android WebView详解之自动登录
- android之WebView详解
- Android之WebView详解
- Android之WebView详解
- [Android实例] 关于webview如何自动登录保存登录信息
- [Android实例] 关于webview如何自动登录保存登录信息
- [Android实例] 关于webview如何自动登录保存登录信息
- Android开发之WebView详解
- Android开发之WebView详解
- Android开发之WebView详解
- Android开发之WebView详解
- Android开发之WebView详解
- Android开发之WebView详解
- Cookie 实现WebView自动登录
- Android WebView详解之文件下载
- android开发之WebView使用(非详解)
- Android WebView(一) WebView详解
- Android WebView保存Cookie登录
- ios8/sdk8/xcode6/iphone6(+)适配
- 文件下载servlet端代码模版
- [点点搬家]求解很大半径球面上的整数点问题
- c++面试题
- UBUNTU中如何获得root权限
- Android WebView详解之自动登录
- Objective-C语法之代码块(block)的使用
- asp.net中GridView排序的手动实现
- VC2008下使用OpenSSL 1.0.0g(免编译)
- 检测和杀死锁
- 浅谈WebView
- Ubuntu系统安装Ruby的三种方法
- 软件无法联网问题
- C# textbox提示文字