c# - 如何在 ASP.NET C# MVC 中为特定域设置 cookie
问题描述
我想为特定域设置 cookie,以便在抓取网站时用 C# 获取英文版本的数据。假设一个网站www.xyz.com有四种语言版本,包括英语。数据库中的实际数据是任何其他语言的(假设是瑞典语)。在爬取网站获取其所有链接和文本时,需要获取英文版的内容。这就是为什么我想在那里设置cookies。但它不起作用。请检查下面的代码来设置英文版的cookie。
if (_domain == "www.xyz.com")
{
HttpCookie CreateLangCookie()
{
HttpCookie cookie = new HttpCookie("Cookies");
cookie.Name = "lang";
cookie.Value = "en";
cookie.Domain = ".xyz.com";
cookie.Path = "/";
cookie.Expires = DateTime.MaxValue;
return cookie;
}
Response.Cookies.Add(CreateLangCookie());
}
解决方案
您可能希望扩展您的问题以注意“不工作”的含义并包括您正在使用的浏览器,但解决方案可能是不使用显式 cookie,如本答案中所述:Cookies with and without the Domain Specified (浏览器不一致)
推荐阅读
- go - 无法将 k8s env ValueFrom 字段的值绑定到用 yaml 传递的结构
- javascript - 当我只想要 typeorm 模型中的一些键时返回所有键
- javascript - 特殊数组:如果每个偶数索引包含一个偶数并且每个奇数索引包含一个奇数,则该数组是特殊的
- kubernetes - 为在 Kubernetes 集群的不同命名空间中运行的所有 Solr 状态集实例设置单个 Solr 导出器
- django - Django - 迁移表内的数据以顺利发布
- c++11 - std::move 的效果
- angular - AOS 仅适用于第一个元素(Angular)
- java - 将项目从 java 8 迁移到 Java11,获取错误包 org.w3c.dom 可以从 org.w3c.dom.Document 的多个模块访问
- javascript - 反应状态不更新
- amazon-web-services - AWS Stickyness Cookie Expiration Date 与 AWS 控制台上设置的不匹配