问题标签 [cookiecontainer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4598 浏览

asp.net-mvc-3 - 如何获取 WebClient 的请求以使用原始请求中的相同 Session?

因此向 ASP.net MVC 控制器/操作发出请求。这有一个关联的会话。我们实例化 WebClient 对象并调用同一站点上的资源的部分操作。

然而,尽管它是同一个站点,同一个应用程序池,因为 WebClient 创建了一个新请求,它具有不同的会话。(我知道你的想法,如果它在同一个应用程序池、同一个站点上,为什么需要 WebClient)。我已将这些细节遗漏了以免弄脏水,但是 WebClient 是有原因的。

我的理解是,如果可以为 WebClient 分配原始 Request.Cookies 集合中的 cookie,那么 ASP.net 将能够根据现有的 cookie 查找现有的 Session。

所以我想有2个问题:

  1. 这是正确的吗,如果我要(以某种方式)将 cookie 分配给 WebClient,那么由 WebClient 创建的请求最终会获取原始请求的会话。
  2. 如何将当前的 Request.Cookies 分配给 WebClient?

更新

我已经查看并尝试了使用带有 WebClient 类的 CookieContainer以及使用 HttpCookieCollection 和 CookieContainer 发送 cookie,但我还没有找到可行的解决方案。

我们有 Umbraco 和 asp.net MVC 的捆绑解决方案,我们正在使用 webclient 向 Umbraco 发出页面请求。在我的研究中,我还发现可能有其他事实可能导致 cookie 无法像我上面描述的那样工作。所以我想首先要找出关于cookies的全部内容是否允许获取原始会话?或者是否有更好的方法来处理我们正在做的事情?

0 投票
1 回答
536 浏览

vb.net - 是否可以将 VB.net 程序中的 cookie 传输到 Mozilla Firefox?

我有 vb.net 2010,我需要一种方法将 cookie 容器从我制作的程序传输到 Internet Explorer、Google Chrome、Safari 和 Mozilla Firefox 等网络浏览器。非常感谢所有答案:)

0 投票
0 回答
490 浏览

objective-c - 在 Objective C 中使用安全的 https 网络服务

我必须在 Objective C 中编辑代码,以使用登录名、密码和 cookie 容器调用安全的 https 网络服务。

代码实际上:

该代码适用于 http 中的 web 服务,但现在使用 https,我尝试添加凭据,但没有成功,并且找不到如何添加 cookie 容器。

0 投票
2 回答
5382 浏览

c# - 如何从 WebResponse 获取多个 Set-Cookie?

我想接收并存储到CookieContainer多个 cookie 中。服务器在一个请求期间向我发送此代码(我在 Fiddler 中看到了这行):

设置 Cookie:ASP.NET_SessionId=fjkfjrfjeijrfjrifj;路径=/; HttpOnly

设置 Cookie:rua-usm=date=10.09.2012&ptype=1&ts=11&id=cvvkmrfmpr44r4rjj;过期=格林威治标准时间 9999 年 12 月 31 日星期五 23:59:59;路径=/

设置Cookie:rua-usm2=date=10.09.2012&ptype=1&ts=11; 过期=格林威治标准时间 9999 年 12 月 31 日星期五 23:59:59;路径=/

设置 Cookie:VisitorDone=1;过期=格林威治标准时间 9999 年 12 月 31 日星期五 23:59:59;路径=/

如您所见,有 4 个 cookie。但是当我阅读时,response.Cookies.Count我只得到一个:*ASP.NET_SessionId*。

我使用下一个代码:

我尝试手动解析 Set-cookie 字段:

但出现错误:

“cookie 的 'Domain'='http://xxxx.xxxx' 部分无效。”

据我了解,它与 Set-Cookie 值中的一些非标准字符有关。但是我对所有值进行了编码HttpUtility.UrlEncode

0 投票
0 回答
2917 浏览

c# - C# HTTP Web 请求 CookieContainer 到 webBrowser.Document.Cookie

*问题是webBrowser1.Document.Cookie = cookie_string;返回对象引用未设置为对象实例。如何将其设置为对对象的引用?我试过webBrowser1 = new WebBrowser();但是,它没有用。

0 投票
0 回答
939 浏览

c# - 如何在 C# 中保存和重用 Cookie?

我正在尝试在使用 Web 服务的 c# 应用程序中使用 cookie。登录方法有效,但是当我尝试使用更改密码方法时,它会给出 401 状态码。

HTTP.cs

如何保存 cookie 以便在其他课程中重复使用?

0 投票
0 回答
363 浏览

web-services - 在多个 HTTPWebRequest 调用 (.net) 中保留 cookie

我有一个需要访问其他域的 web 服务的网页。由于浏览器中的跨域策略,我创建了一个服务器端服务作为代理。我正在使用服务器端 HttpWebRequest (.net) 来调用需要身份验证的 Web 服务并将 json 返回到 javascript。但是,我遇到了一些问题:

  1. 我目前正在硬编码用户名和密码,因为 HttpWebRequest 似乎没有让我提示输入用户名和密码的功能。没有用于登录的弹出对话框。那么,我可以像 XMLHttpRequest(javascipt 版本)一样强制 HttpWebRequest 提示输入用户名和密码吗?

  2. 由于第一个问题,我注意到我可能需要创建一个虚拟登录页面来获取用户名和密码,然后将请求发送到 Web 服务。如果成功,则表示登录凭据正确。然而,在这之后,我仍然有很多其他的网络服务请求。HttpWebRequest 的 cookie 似乎只持续该请求调用。它不存储在正常的本地 cookie 存储中。(我检查浏览器并没有找到它)。如何将 CookieContainer 内的 cookie 存储到 HttpContext.Current.Response.Cookies 中,这样我就不需要再次登录了。我不想通过附加 CookieContainer 来处理每个请求调用,因为有很多请求。

0 投票
1 回答
3639 浏览

c# - 在winforms中使用HttpWebRequest传递cookie?

请看以下代码:

使用 request.GetResponse() 后,cookie 已成功填充数据,并且它具有身份验证代码,并且 readerRequest 也已填充,之后我调用 newRequest.GetResponse() 但 readerNewRequest 为空,我尝试这样做许多事情,但总是相同的结果,我解决这个问题的唯一方法是使用一个 WebBrowser 对象,我在其中传递 url,我能够使用 WebBrowser.DocumentStream 获取内容。

我该如何解决这个问题?

0 投票
1 回答
331 浏览

httpwebrequest - 无法使用 c# 编程代码成功模拟表单登录

目前我正在尝试使用 c# 代码(HttpWebRequest/HttpWebResponse)模拟登录,但是我最终得到了 login.aspx 网页的 html 文本,而不是成功登录后的 html 文本。返回的变量“html”与 login.aspx 网页本身完全相同,似乎根本没有发布数据。请帮忙。谢谢你。戴夫。这是我使用的代码

0 投票
4 回答
36922 浏览

c# - 如何获取 CookieContainer 的所有 Cookie?

我想使用 Newtonsoft.Json 将 CookieContainer 导出到 JSON,但不幸的是 CookieContainer 没有枚举器或其他东西,所以我无法循环遍历它......

编辑:使用我发布的解决方案,它将是这样的: