Articles of cookie

使用cookies与Robospice改造请求

任何人都可以请build议我一种方式来pipe理robospice翻新types的HTTP请求中的cookie。 我有一个身份validation系统,它具有login,几个GET HTTP请求和一个注销。 在login期间,我需要保存会话,并为其余的GET HTTP请求使用相同的会话,当我注销会话必须被清除。 这里的login是通过JSON格式发送和接收数据的HTTP POST请求。 我正在使用robospice翻新,因为它可以轻松pipe理login和注销请求。

改造不断地把我的cookies(Android

所以,当我login到我的服务器端应用程序,它给了我一个cookie,允许我在未来的请求上说“嘿,这是我”。 我曾经使用Android的默认HttpClient类来做到这一点,它运作良好。 但是有人告诉我,Retrofit的速度要快得多,它不会让你通过实现GSON来处理JSONparsing,所以我想我会试试看。 我build立了我的客户端,我可以提出请求,但是,我的客户端不记得会话密钥,因此我什么也做不了。 有谁知道如何告诉改装“接受和用户的Cookie未来的要求”? 我在这里迷路了! 任何build议将做:) public class ApiClient{ private static final String API_URL = "http://192.168.1.25:8080"; private static RestAppApiInterface sRestAppService; public static RestAppApiInterface getRestAppApiClient() { if (sRestAppService == null) { CookieManager cookieManager = new CookieManager(); cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL); CookieHandler.setDefault(cookieManager); RestAdapter restAdapter = new RestAdapter.Builder() .setEndpoint(API_URL) .build(); sRestAppService = restAdapter.create(RestAppApiInterface.class); } return sRestAppService; } }

Android Http获取会话Cookie

我真的不想在这里张贴,因为网上有这么多的信息,但我已经深入了解了这些深度,并且无法弄清楚。 好吧,所以我不能在两种情况下得到这个工作,希望两者的答案都是一样的。 我的问题是我设置请求头,但它似乎并没有发送它。 我有一个会话ID s = e32ff223fwefd3,我想存储在“Cookie”下,但它似乎并没有工作。 这是我最快的代码示例 import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.HttpResponse; private static String sessionCookie = "s=12342342352354234"; public static void get(String url) { HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(url); if(sessionCookie != null){ Log.d(TAG, "Setting Cookie: "+sessionCookie); request.setHeader("Cookie", sessionCookie); } else { Log.i(TAG, "Null session request get()"); } HttpResponse […]

Cookies和Webview – Android中的CookieSyncManager!

我有一个可以让你login页面的活动。 在下一个活动中,如果login成功,则应该显示基于cookie的网页。 该cookie是retrived,我尝试把它放在webView与下面的代码: Cookie sessionCookie = LoginWebView.cookie; CookieSyncManager.createInstance(webview.this); CookieManager cookieManager = CookieManager.getInstance(); if (sessionCookie != null) { cookieManager.removeSessionCookie(); String cookieString = sessionCookie.getName() + "=" + sessionCookie.getValue() + "; domain=" + sessionCookie.getDomain(); Log.v(TAG, "COOKIE SYNC: " + cookieString); cookieManager.setCookie(domain, cookieString); CookieSyncManager.getInstance().sync(); } webView.setWebViewClient(new MyWebViewClient ()); webView.loadUrl("http://a_page.com/getpageiphone.aspx?p=home"); 这是基于StackOverflow的其他问题的代码,但是当我加载网页时,它似乎不工作。 看起来我的代码有一些非常错误的地方,但是我不知道在哪里,我开始觉得自己在做一些非常错误的事情。

在Android webview上自动loginGoogle帐户

在过去的一周里,我淹没了自己的联系,导致自己在太多的圈子里数数,所以我想我会在这里提出这个问题。 我有一个Android应用程序,显示指向用户必须使用其Google帐户login才能看到(后端内置于Google App Engine中)的url的网页浏览。 由于最终用户可能会在Android上login自己的Google帐户,所以我希望login过程是自动的。 目前,在用户打开第一个webview时,他们会看到Googlelogin表单,并在后续页面上显示一个非常丑陋的问题:“您希望允许example.appspot.com使用您的Google帐户吗? 该过程对于用户体验来说是可怕的。 我在这里和那里看到了很less的关于自动login的资源,但是我已经坦然地迷失在几乎我想要的东西的海洋里,但是不是很能够辨别我应该去的方向。 我阅读了Nick关于使用App Engine对应用程序进行身份validation的教程,但仅仅使用该令牌并不能获得与后端每个Google帐户关联的唯一分配的用户ID。 最重要的是,之前的经验告诉我,应用程序的webview会话与应用程序的HTTPClient会话不协调。 所以即使我可以用Nick的方法login,也不会帮我login网页浏览。 然后我遇到了这个教程 ,看起来真的很有希望,但是到目前为止,我还没有能够使自己的代码适应自己的工作。 我也发现这个链接 ,这表明我所需要做的就是将authentication令牌(我可以通过Nick的方法获得)传递给我加载的每个webview。 这就是它。 他们都是不同的方法,所以我想知道他们中的任何一个是否真的是我想要的。 或者,如果某个地方存在一个合理简单的方法。 我真的很感激,如果有人知道在这一个简单的答案。 谢谢!

在Android上使用BasicHttpRequest从webview共享cookie

作为http get的一部分,我无法发送cookie。 首先我要去一个webview中的一个login页面给我一个cookie。 我已经检查并将cookie存储在CookieManager中。 然后,我使用BasicHttpRequest从同一个域中获取特定的URL。 我期望从login中得到的cookie附加到我的头文件中,但在Wireshark中查看它不在那里。 我search了很多类似的问题,并确保: 我正在使用CookieSyncManager,所以我希望会话中的cookie可以保留。 我不认为这是一个CookieSyncManagerasynchronous的问题,因为我保持每5秒击中一次URL并且从不添加cookie。 我怀疑我需要告诉我的http请求关于我的cookie存储,但我googlesearch的解决scheme不为我编译。 它看起来像我想做的东西看起来像context.setAttribute(ClientContext.COOKIE_STORE,this.cookieStore),但我不知道如何从CookieManager获取默认CookieStore。 一些代码似乎调用cookieManager.getCookieStore(),但不能在Android上为我编译。 看着文档,我看不到一种方式来得到似乎疯狂的CookieStore – 我错过了明显的东西? 我在我的webview中启动login页面的代码如下所示: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // use cookies to remember a logged in status CookieSyncManager.createInstance(this); CookieSyncManager.getInstance().startSync(); //not sure if I need to do this CookieManager cookie_manager = CookieManager.getInstance(); cookie_manager.setAcceptCookie(true); webview = new WebView(this); webview.getSettings().setJavaScriptEnabled(true); webview.setWebViewClient(new HelloWebViewClient()); // if […]

Android:login网站并使用DefaultHttpClient保存会话/ cookie

我已经通过不同的教程和这个网站,但无法find一个合适的解决scheme。 另一方面,我已经看到了应用程序login网站,并要求进一步的信息,所以我相信有一种方法来得到这个工作,但也许我的做法是错误的。 这是我想要做的:我想login到需要用户身份validation的网站,然后阅读和parsing只有在用户login时才可访问的网站。问题:在将凭据张贴到网站后,我收到一个cookie似乎并没有被保存在我的HttpClient中,即使这些文档暗示了应该发生这种情况。 这是我的一些代码: DefaultHttpClient httpclient = new DefaultHttpClient(); HttpPost httpost = new HttpPost(LOGIN_URL); List<NameValuePair> nvps = new ArrayList<NameValuePair>(); nvps.add(new BasicNameValuePair(USER_FIELD, login)); nvps.add(new BasicNameValuePair(PASS_FIELD, pw)); nvps.add(new BasicNameValuePair(REMEMBERME, "on")); httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8)); HttpResponse response = httpclient.execute(httpost); HttpEntity entity = response.getEntity(); if (entity != null) { entity.consumeContent(); } List<Cookie> cookies = httpclient.getCookieStore().getCookies(); 当我输出“cookies”的内容时,一切似乎都很好(我收到一个会话): – [version: 0][name: ASP.NET_SessionId][value: […]

在Android中维护Cookie会话

好吧,我有一个Android应用程序,它有一个窗体,两个EditText,一个微调和一个loginbutton。 用户从微调器中select服务,键入他们的用户名和密码,然后单击login。 通过POST发送数据,返回响应,处理数据,启动新的WebView,从响应中生成的htmlstring被加载,并且我拥有用户select的任何服务的主页。 这一切都很好。 现在,当用户点击一个链接时,找不到login信息,页面会要求用户重新login。 我的login会话正在放弃某处,我不确定如何将控制我的应用程序的主要部分的类的信息传递给刚刚启动webview活动的类。 来自表单loginbutton的onClick处理程序: private class FormOnClickListener implements View.OnClickListener { public void onClick(View v) { String actionURL, user, pwd, user_field, pwd_field; actionURL = "thePageURL"; user_field = "username"; //this changes based on selections in a spinner pwd_field = "password"; //this changes based on selections in a spinner user = "theUserLogin"; pwd = "theUserPassword"; […]

如何parsing一个cookiestring

我想要一个Cookiestring(因为它可能会返回一个Set-Cookie头),并能够轻松修改它的一部分,特别是到期date。 我看到有几个不同的Cookie类,例如BasicClientCookie,但我没有看到任何简单的方法来parsingstring到这些对象之一。 我在api 9级看到他们添加了HttpCookie ,它有一个parsing方法,但是我需要一些东西在以前的版本中工作。 有任何想法吗? 谢谢

使用Cookie进行URLConnection?

我试图做一个支持cookies的URLConnection。 根据我可以使用的文件: CookieManager cookieManager = new CookieManager(); CookieHandler.setDefault(cookieManager); 我无法得到这个代码工作,然后我看到这只适用于API 9(2.3)。 但是,我没有在旧的模拟器中使用CookieManager得到一个错误,CookieManager存在,但不能构build。 有什么办法让这个工作的早期版本? 我试过了: cookieManager.setAcceptCookie(true); URLConnection con = u.openConnection(); con.setRequestProperty("Cookie", cookieManager.getInstance().getCookie(url);); con.setDoOutput(true); con.connect(); String addCookie = con.getHeaderField("Set-Cookie"); System.out.println(con.getHeaderFields().toString()); if (addCookie!=null) { cookieManager.getInstance().setCookie(url, addCookie); } 但是这不起作用。