问题标签 [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 回答
1211 浏览

c# - CookieContainer 和 Web 服务

我有网络服务:

当我从外部控制台应用程序调用它时,它会在最后一行显示 NullReferenceException:

如果从 web 服务中删除 Open() 方法并插入到构造函数这样的行,它工作正常:

如何解决?PS MNConnection - 我自己的类,它与 OracleConnection 一起使用。

0 投票
1 回答
232 浏览

asp.net - 古怪的 cookie 行为

我的一位同事让我看看一些 cookie 行为。他创建了一个简单的 Web 应用程序,该应用程序创建了一个 cookie 并插入了一个文本字段的值,然后他检查了下一页上的 cookie 集合,以查看它已被正确插入并读回。

真的很简单。

然而,在第二页上,他注意到这不仅仅是一个 cookie,其他的则与他在本地调试的另一个 Web 应用程序相关。

我告诉他这是因为浏览器识别了 URL 并因此发送了它识别为来自那里的所有 cookie,这是正确的吗?即使本地调试服务器端口更改,它也会这样做吗?

0 投票
3 回答
43416 浏览

c# - 在 WebBrowser 中使用来自 CookieContainer 的 cookie

有什么方法可以让我实际使用 cookie 容器中的 cookie(之前取自 WebRequest)并在 WebBrowser 控件中使用它们?如果是这样,我该怎么做?这适用于 C# 中的 Winforms 应用程序。

0 投票
4 回答
23295 浏览

httpwebrequest - 带有空域的 HttpWebRequest cookie

我有一个 ASP.NET MVC 操作,它通过 HttpWebRequest 将 GET 请求发送到另一台服务器。我想在新请求中包含原始操作请求中的所有 cookie。原始请求中的某些 System.Web.HttpCookies 具有空域值(即“”),这显然不会导致任何问题。当我使用每个这些 cookie 的名称、值、路径和域创建 System.Net.Cookie 并将其添加到请求的 CookieContainer 时,我收到此错误:

“System.ArgumentException:参数“{0}”不能为空字符串。参数名称:cookie.Domain”

下面是一些会抛出相同错误的代码(当添加 cookie 时):

编辑

我通过对域使用“localhost”来解决这个问题,而不是原始HttpCookie中的 null 或空字符串值。那么,为什么空域不适用于 CookieContainer? HttpCookie 是否使用空值来表示本地主机,还是我需要为这个问题找到另一个解决方案?

0 投票
1 回答
1891 浏览

asp.net - 来自控制台应用程序和超时的 ASP.NET 授权

对于它的价值,我设法让一个控制台应用程序通过现有的 ASP.NET Web 应用程序对自己进行身份验证。它只是通过向包含视图状态信息的登录页面发出发布请求来模拟登录页面(就像浏览器发出请求一样)。

然后它会在 CookieContainer 中捕获作为响应返回的 cookie。

然后应用程序继续向同一页面发出多个请求(这需要授权)。该页面做了一些工作并在服务器上写出一个文件。

我遇到的问题是,在假登录后,前两个请求可以通过。第三个请求甚至从未收到响应。下面是我用来发出请求的代码:

登录:

请求页面:

cookieJar 和 timeout 变量对于应用程序是全局的。

知道什么会导致这种情况吗?

更新(2010-01-17,美国东部标准时间下午 3:30)

当我在 Fiddler 运行的情况下启动应用程序时,一切正常。正如我所期望的那样,所有请求都起作用。

我检查了 IIS 日志文件。在它们中,我可以看到初始登录请求、登录后的重定向以及前两页的请求。但在那之后……什么都没有。就好像请求甚至没有发送到 Web 服务器。

更新(2010-01-18,美国东部标准时间上午 11:29)

我更新了代码以反映 Chris B. Behrens 建议的更改。但无济于事。如果重要的话,调用上述函数的循环如下所示:

更新(2010-01-18,美国东部标准时间下午 1:03) 这可能是迄今为止我能够提供的最有用的信息。

我再次查看 IIS 日志。发送登录请求后,我可以刷新日志并立即显示。但是,在我关闭控制台应用程序之前,不会显示任何页面请求。这是日志的相关位:

对 process.aspx 的每个 GET 请求都对应于对上述 RequestPage 方法的调用。行“request.GetResponse();” 只需要大约 10 秒左右,但在我关闭应用程序之前,该请求似乎永远不会完成(至少根据 IIS)。(如果您查看每一行的最后一个数字,这就是以毫秒为单位提供页面所需的时间,但我在应用程序中得到响应的时间要短得多。)所以这是可能的(甚至可能) IIS 正在限制它将从一个 IP 接受的连接数量。

这让我想到了一个问题:我提出的请求是什么导致他们保持“开放”状态?

请求不返回 HTML 页面(如果重要),它们返回 PDF。

0 投票
1 回答
1139 浏览

httpwebrequest - 并非所有 cookie 都使用 cookiecontainer 和 webclient/httpwebrequest 保存

我正在尝试使用 CookieAwareClient 登录网站(此处的代码:C# WebClient Log to Website)。当我使用网络浏览器登录该网站时,我得到了大约 10 个 cookie。如果我禁用 JavaScript 并尝试登录,我会得到 5(activeTab、id、mcim、PHPSESSID、用户名)。但是当我尝试使用 CookieAwareClient 登录时,唯一保存的 cookie 是 PHPSESSID。

没有保存其他 cookie 的原因可能是什么?我知道 WebClient 不执行 JavaScript,但是在禁用 JavaScript 时生成的其他 3 个 cookie 也没有被保留。

0 投票
2 回答
2014 浏览

serialization - 如何在 wp7 应用程序中序列化 CookieContainer?

我尝试序列化cookie以保存它并在下次启动我的应用程序时反序列化。但是反序列化的结果是空的。出了什么问题?

我还发现了这个简单 的 C#:Writing a CookieContainer to Disk and Loading Back In For Use 表明 CookieContainer 可以序列化。但是SoapFormatterwp7 库中没有

0 投票
1 回答
187 浏览

asp.net-mvc - MVC、WebRequests、CookieContainers 和 Americart

我想将用户购物车的内容发送到第三方购物车 (Americart),并且我想在我的 ActionResult 方法中使用 WebRequest 类执行此操作。

但是,Americart 希望我在视图中放置一个表单,并在用户单击“添加到购物车”时让用户直接将表单提交给 Americart。

我发现这在很多层面上都很笨拙,并且希望用户留在我的网站上,完成购物,并在用户单击“结帐”时让我将购物车中的内容转移到 Americart

因此,设置 ActionResult “Checkout”似乎很容易,并且在该方法中:(1)使用 WeRequest 将我的购物车的内容发送到 Americart,以及(2)完成后将用户重定向到 Americart结帐页面。

但是,当用户到达 Americaart 结帐页面时,它说购物车是空的。我很快意识到,Americart 从来没有机会 cookie 用户,因为 WebRequest 对象“添加到购物车”,而不是用户。所以用户到达时没有 cookie,也没有购物车中的物品。

因此,我想获取 Americart 分配的 cookie 并将它们存储在 WebRequest 对象的 CookieContainer 中,并且我想将 cookie 从 CookiContainer 传输出来并将它们分配给用户,然后再将它们重定向到 Americart。我希望 Americaart 网站能够读取 cookie,就好像他们已将 cookie 直接分配给用户一样。

这可以做到吗?我很怀疑,但有足够的希望问。

0 投票
1 回答
2423 浏览

c# - C# HttpWebRequest CookieContainer/Collection 在对象实例之间持久化?

我的登录程序遇到了问题。如果我登录一次,然后为 null CookieContainer 和 CookieCollection(以及我的 http 类),然后尝试再次登录,它仍然会从第一个请求中提交 cookie。为什么饼干粘在身边?

例子:

编辑: HTTP 类的粗略表示...

编辑 | 解决方案: 上面的任何代码都没有问题。我犯了一个愚蠢的错误,没有将HTTP空/新代码放在我的注销按钮中。所以它从来没有重置过。很抱歉浪费了大家的时间。

0 投票
2 回答
1281 浏览

wcf - 无法在 MonoTouch 中的服务客户端上设置 CookieContainer

我有一个 MonoTouch 项目,它使用了一些与 Windows Phone 7 应用程序共享的代码。此共享代码为使用 SLSvcUtil.exe 生成的 RIA 域服务(使用 /Soap 端点)创建 WCF 代理。这是代码的样子:

这段代码在 WP7 中工作,但在 MonoTouch 中失败,我找不到原因。我在 MonoTouch 中得到的例外是:

我在设置 CookieContainer 之前尝试了以下选项,但仍然出现相同的错误:

更新:我也尝试过手动构建一个 CustomBinding 并添加一个 HttpCookieContainerBindingElement 但这也行不通。

有任何想法吗?MonoTouch 网站告诉我 WCF 实现是“实验性的”,所以这可能是当前 MonoTouch 版本的限制?