Tag: cookies

restsharp – 响应对象中没有cookie

我对localhost服务器的一个请求有问题。 要进行身份validation,我需要两个cookie,一个来自sendReqForToken()方法,另一个来自sendLoginReq(字符串登录,字符串传递)。 作为回应,我从sendLoginReq获取cookie,但不是从sendReqForToken()获取cookie。 我不知道为什么一个请求有一个cookie第二个没有。 有趣的是,我从sendReqForToken()方法获得了正确的令牌(响应内容是正确的),但响应头中没有任何cookie。 这是sendReqForToken()方法体: public void sendReqForToken() { string adres = Globals.TOKEN_URL; RestRequest request = new RestRequest(adres, Method.GET); var client = new RestClient(); client.CookieContainer = new CookieContainer(); client.ExecuteAsync(request, (response) => { if (response.StatusCode == HttpStatusCode.OK) { var tokenValue = JsonConvert.DeserializeObject(response.Content); DataManager.Instance.authToken = tokenValue.authenticity_token; if (response.Cookies.Count > 0) { var cookie = response.Cookies.FirstOrDefault(); DataManager.Instance.cookieJar.Add(new […]

删除webBrowser中的cookie而不重启

你能说我如何删除private System.Windows.Forms.WebBrowser webBrowser1所有cookie。 我用了 [DllImport(“wininet.dll”, SetLastError = true)] private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength); 我想用按钮点击这样做。 private void button1_Click(object sender, EventArgs e) { InternetSetOption(IntPtr.Zero, INTERNET_OPTION_END_BROWSER_SESSION, IntPtr.Zero, 0); } 但它不起作用。 我知道webBrowser1.Navigate(“javascript:void((function(){var a,b,c,e,f;f=0;a=document.cookie.split(‘; ‘);for(e=0;e<a.length&&a[e];e++){f++;for(b='.'+location.host;b;b=b.replace(/^(?:%5C.|[^%5C.]+)/,'')){for(c=location.pathname;c;c=c.replace(/.$/,'')){document.cookie=(a[e]+'; domain='+b+'; path='+c+'; expires='+new Date((new Date()).getTime()-1e11).toGMTString());}}}})())"); 它不适合我。

C#如何使用共享的HttpClient传递cookie

我有以下设置: JS客户端 – > Web Api – > Web Api 我需要一直向下发送auth cookie。 我的问题是从一个web api发送到另一个。 由于与使用FormsAuthentication的旧系统集成,我必须传递auth cookie。 出于性能原因,我在以下字典中共享一个HttpClients列表(每个web api一个): private static ConcurrentDictionary _clients = new ConcurrentDictionary(); 所以给定一个标识符,我可以获取相应的HttpClient。 以下工作,但我很确定这是错误的代码: HttpClient client = _clients[identifier]; var callerRequest = HttpContext.Current.Items[“MS_HttpRequestMessage”] as HttpRequestMessage; string authCookieValue = GetAuthCookieValue(callerRequest); if (authCookieValue != null) { client.DefaultRequestHeaders.Remove(“Cookie”); client.DefaultRequestHeaders.Add(“Cookie”, “.ASPXAUTH=” + authCookieValue); } HttpResponseMessage response = […]

如何从.Net删除cookie

可能重复: 点击退出时删除cookie 我想在用户注销时删除cookie。 这是我的代码: if (HttpContext.Current.Request.Cookies[“currentUser”] != null) { DeleteCookie(HttpContext.Current.Request.Cookies[“currentUser”]); } public void DeleteCookie(HttpCookie httpCookie) { try { httpCookie.Value = null; httpCookie.Expires = DateTime.Now.AddMinutes(-20); HttpContext.Current.Request.Cookies.Add(httpCookie); } catch (Exception ex) { throw (ex); } } 但它不起作用。 你有什么建议吗?

WCF客户端使用多个使用HTTP Cookie的asmx服务

我试图在多个WCF客户端端点中使用相同的http cookie(实际上是asmx sessionid)。 服务器有几个端点,其中一个是: AuthenticationService.asmx Login()< – 创建一个HTTP cookie,它是ASP.NET sessionid的服务器 Logout()< – 销毁相同的cookie SomeOtherService.asmx DoSomeThing()< – 从AuthenticationService.asmx中重新获取有效的cookie。 如何跨多个端点共享HTTP Cookie。 我无法控制服务器代码,必须使用WCF。

是否可以在ASP.NET Web API和SPA中使用基于cookie的身份validation?

我想创建基于angularjs前端和ASP.NET Web API的Web应用程序。 我需要创建安全api,但我不能在公司的服务器上使用基于令牌的身份validation,这将实现此Web应用程序。 是否可以对SPA和ASP.NET Web API使用基于cookie的身份validation? 对于我拥有SPA和Web API的场景,如何在ASP.NET项目上配置基于cookie的身份validation?

gecko清除缓存历史记录和Cookie

救命! 我使用GeckoFx-Windows-10.0-0.6浏览器和xulrunner-10.0.en-US.win32 。 (Visual Studio 2010 c#)一切正常。 但我需要清除所有历史记录,如Firefox:工具>>选项>>隐私 我发现Gecko.CookieManager.RemoveAll(); cookie是多么清晰Gecko.CookieManager.RemoveAll(); 如何清除缓存,临时文件和历史记录?! 当我初始化Gecko.Xpcom我无法清除文件夹”Gecko.Xpcom.ProfileDirectory” (缓存和cookie),原因很明显。 Gecko.Xpcom.Shutdown()没有帮助 我找到了一种通过javascript清理cookie的方法: var cookieManager = Components.classes[“@mozilla.org/cookiemanager;1”].getService(Components.interfa‌​ces.nsICookieManager); cookieManager.removeAll(); 如何在C#中调用这个JS?

我的cookie什么时候会过期?

我在加利福尼亚州的服务器上运行了一个ASP.NET应用程序。 服务器的当前时间是: 7/20/2015 14:00 UTC-08:00 Bob已连接到我的服务器。 鲍勃在德克萨斯州。 他现在的时间是: 7/20/2015 16:00 UTC-06:00 我的应用程序创建一个cookie并设置其到期日期。 var name = “MyName”; var value = “MyValue” var hoursToLive = 24; var myCookie = new HttpCookie(name ) { Value = value, Expires = DateTime.Now.AddHours(hoursToLive) }; 由于Bob和服务器之间的时差,cookie会在24小时后到期,还是会在22小时后到期? 我知道DateTime.Now使用服务器的本地时间 ,但我不清楚浏览器如何确定cookie过期(具体来说,用什么时区来确定过期时间)。

将标头cookie字符串映射到CookieCollection,反之亦然

考虑使用此标头的Web响应: Set-Cookie: sample=testCookie; Domain=.sample.com; Expires=Tue, 25-Jan-2012 00:49:29 GMT; Path=/ 此标头将映射到.NET CookieCollection 。 而且当我们处理CookieCollection它最终会转换为这样的header string 。 我正在寻找某种方式纯粹以两种方式进行这种转换。 当然, .NET在它的内部库中有它。 我相信任何从文本构造对象模型的类,反之亦然,应该支持两种方法(这里是CookieCollection ): // Creating cookie collection from header text CookieCollection.TryParse(cookieHeaderString, out myCookieCollection); // and getting the final header which would be sent by request String cookieHeaderString = myCookieCollection.GetCookieHeaderString(); 如何使用CookieCollection实现这一目标?

HttpClient不在CookieContainer中存储cookie

我正在使用VS2010 + .NET 4.0 + System.Net.Http (来自Nuget )。 由于我无法理解的原因,我在HttpResponseMessage收到的会话cookie不会自动保存在HttpClient CookieContainer 。 这是我的代码的样子: CookieContainer cookies = new CookieContainer(); HttpClientHandler handler = new HttpClientHandler(); handler.CookieContainer = cookies; HttpClient client = new HttpClient(handler); Uri site = new Uri(“https://www.mywebsite.com”); var response1 = client.SendAsync(new HttpRequestMessage(HttpMethod.Get,site)).Result; 我可以在响应头中看到我有以下内容: Set-Cookie: JSESSIONID=FC8110E434C2C6DAB78B4E335024A639; Path=/member; Secure 但是我的cookie容器仍然是空的…为什么?