Tag: cookies

CookieException与CookieContainer:Cookie的“路径”部分无效

我正在尝试设置cookie的路径,但我总是收到错误: CookieException: The ‘Path’=’/applogin’ Cookie CookieException: The ‘Path’=’/applogin’部分无效。 代码看起来像这样: Cookie newCookie = new Cookie(“JSESSIONID”, session.SessionId, “/applogin”, “domain.com”); newCookie.Secure = true; webRequest.CookieContainer.Add(new Uri(@”https://domain.com”), newCookie); 那个例外是在最后一行抛出……有人能指出我正确的方向吗?

从浏览器中删除Cookie

如何在asp.net c中从浏览器中删除cookie#

C# – HttpClient没有发送任何cookie

我正在开发两个网站www.web1.com和www.web2.com。 在web1中,我保存了一个http cookie,如下所示 HttpCookie AuthCookie = new HttpCookie(AppConstants.Cookie.AUTH_COOKIE); AuthCookie.Path = “/”; AuthCookie.Value = “value1”; Response.Cookies.Add(AuthCookie); 现在我想要的是在第二个网站即web2中读取这个cookie。 我正在尝试使用HttpClient读取它,如下所示 HttpClientHandler handler = new HttpClientHandler(); handler.CookieContainer = new CookieContainer(); HttpClient client = new HttpClient(handler); response = client.GetAsync(“http://www.web1.com”).Result; var cookies = cookies.GetCookies(new Uri(“http://www.web1.com”)); 这不会返回任何cookie,也可以通过Fiddler进行检查。 但是,如果我直接打开www.web1.com并检查提琴手,那么它会发送cookie。 请查看我缺少的内容,以便不从httpclient返回cookie。 谢谢, SB

如果禁用cookie,asp.net是否会将cookie存储为会话cookie?

基本上,如果cookeis在客户端被禁用,我想知道这是否…… dim newCookie = New HttpCookie(“cookieName”, “cookieValue”) newCookie.Expires = DateTime.Now.AddDays(1) response.cookies.add(newCookie) 注意我设置了一个日期,所以它应该存储在磁盘上,如果cookie被禁用,asp.net会自动将这个cookie存储为会话cookie(这是一个持续在浏览器内存中的cookie,直到用户关闭浏览器,如果我是没错误)….或者asp.net根本不添加cookie(任何地方)在这种情况下我将不得不重新添加cookie到没有日期的集合(存储为会话cookie)…当然,这需要我两次添加一个cookie …也许第二次不必要地如果它被存储在浏览器内存中…我只是试图不存储它两次,因为它只是坏代码! 任何想法,如果我需要写另一行? (这将是)…… response.cookies.add(客户端浏览器内存中的新HttpCookie(“cookieName”,“cookieValue”)’会话cookie 多谢你们

如何在不丢失Cookie的情况下刷新我的Selenium ChromeDriver实例?

在我尝试使用C#在Selenium中自动化的手动测试用例中,它说:“使用复选框登录’记住我’已激活,关闭浏览器,打开浏览器,检查用户是否仍然登录。” 手动执行,这当然是成功的。 使用Chrome中的Selenium,我总是会在会话中丢失Cookie。 到目前为止我尝试了什么: public static void RefreshDriver(TestParams testParams) { var cookies = testParams.Target.Driver.Manage().Cookies.AllCookies; var url = new Uri(testParams.Target.Driver.Url); testParams.Target.Driver.Quit(); testParams.Target = testParams.Target.Clone(); // creates new ChromeDriver() string temp = url.GetLeftPart(UriPartial.Authority); testParams.Target.Driver.Navigate().GoToUrl(temp); foreach (Cookie cookie in cookies) { testParams.Target.Driver.Manage().Cookies.AddCookie(cookie); } testParams.Target.Driver.Navigate().GoToUrl(url); } 这就是我创建ChromeDriver的方法: private ChromeDriver _CreateChromeDriver(string httpProxy) { var options = new ChromeOptions(); string tempDir […]

Internet Explorer打开时,Web浏览器控制error handlingCookie

我正在使用WebBrowser控件在C#中构建一个应用程序。 这是加载一个特定的页面(我没有创建),它使用一个弹出窗口和一个cookie来确定搜索到的最后一个“ID”是什么。 这一切都正常,除非Internet Explorer在后台打开。 当Internet Explorer在后台打开时,弹出窗口仅转到设置的第一个ID。 当IE打开时,似乎没有正确存储cookie。 分解: 用户打开Internet Explorer。 用户打开我的应用程序 用户在页面上搜索XXX。 用户单击弹出窗口。 弹出窗口显示正确的信息。 用户在父页面上搜索XXY。 用户单击弹出窗口。 弹出窗口显示以前的信息(不正确)。 正如我所说,当Internet Explorer未打开时,这可以正常工作。 有谁知道可能导致这种情况或如何预防? 也许Internet Explorer“锁定”其cookie?

InternetSetCookie不会在临时Internet文件中存储cookie

我正在尝试使用来自ac#winform应用程序的wininet在客户端创建一个cookie。 所以我用这个代码: [DllImport(“wininet.dll”, CharSet = CharSet.Auto, SetLastError = true)] public static extern bool InternetSetCookie ( string lpszUrlName, string lbszCookieName, string lpszCookieData ); private void btnRestaure_Click(object sender, EventArgs e) { try { var result = InternetSetCookie(“www.mydomain.com”, “MyCookie”, “value=helloworld”); } catch(Exception ex) { } } InternetSetCookie返回true,但我在Temporary Internet Files文件夹中找不到cookie。 任何线索?

C#Cookies基于登录信息

我在Web应用程序上有2个登录控件,一个在默认情况下,一个在default2上(命名约定将在我工作后更新)。 我正在做的是在每次登录时设置一个cookie,它将从login controls authenticate方法发送一个连接字符串名称。 它将一个硬编码的字符串发送到名为Authenticate Users的基类。 这堂课正在做以下…… public class AuthenticatedUser : System.Web.UI.Page { public static string ConnectionString { get { HttpCookie myCookie = HttpContext.Current.Request.Cookies[“connectionString”]; return GetConnectionStringFromName(myCookie); } set { HttpCookie oldCookie = HttpContext.Current.Request.Cookies[“connectionString”]; oldCookie.Expires = DateTime.Now.AddDays(-1); HttpCookie cookie = new HttpCookie(“connectionString”); cookie.Value = value; cookie.Expires = DateTime.Now.AddYears(100); HttpContext.Current.Request.Cookies.Add(cookie); string val = cookie.Value; } } private […]

从子域写入cookie并从另一个子域读取而不更改web.config

我有一个简单的问题。 我有两个不同的项目,如 http://login.mydomain.com 和 http://test.mydomain.com 。 顾名思义,我从登录项目登录并将响应重定向到测试项目。 我能够为login.mydomain.com创建cookie但我无法从test.mydoamin.com读取它。 我的问题是我可以从login.mydomain.com创建cookie到www.mydomain.com并从test.mydomain.com读取它,就像我从www.mydomain.com读取它一样。 这就是我创建cookie的方式。 Response.Cookies[“UserValidForMyDomain”].Value = myvalue; Response.Cookies[“UserValidForMyDomain”].Expires = dtExpireDate; 以及我如何阅读它们。 string myValue = Request.Cookies[“UserValidForMyDomain”].Value;

发送HTTP标头后,服务器无法修改cookie

我正在用C#创建一个Web应用程序。 当我的页面加载时,我触发一个异步线程来处理一些数据。 此处理的一部分是更新cookie。 但是当我将cookie保存到响应时 System.Web.HttpContext.Current.Response.Cookies.Add(cookie) ,我得到以下exception: HttpException: Server cannot modify cookies after HTTP headers have been sent. 我可以用任何方式解决或解决这个问题吗?