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

.net - 通过 .NET 中的 Web 服务调用发送 cookie

我在将 cookie 设置为 .NET 中的 Web 服务调用时遇到问题。在使用所提供的 wsdl 的任何调用之前,我必须提供一个在登录客户网站时获得的 cookie。我有一个登录和检索 cookie 的方法,然后我将它传递给我的 makeSearch 方法(如下所示)。如您所见,我在 cookieContainer 中为 wsdl 对象设置 cookie;但是,当我检查我的 AdvancedSearch 方法发出的请求时,我注意到提琴手没有发送任何 cookie。客户端用 Java 提供了解决方案,但在将其转移到 .NET 时遇到问题。

下面是Java代码中的解决方案:(port是传入的wsdl对象)

我的代码如下:

任何人都可以列出任何想法或解决方案吗?

0 投票
1 回答
346 浏览

.net - 何时应使用 HttpWebRequest.Credentials

我尝试对需要身份验证的 Web url 执行POST使用实例(具有内置成员资格系统HttpWebRequest的 ASP.NET MV3 标准装饰操作方法),但提供登录和密码并没有成功。[Authorize]NetworkCredentialsHttpWebRequest

我最终使用了一个全局CookieContainer和两个HttpWebRequests

  1. 将请求设置CookieContainerglobalCookieContainer.
  2. POST 用户名和密码到登录 URL。(在该步骤之后,容器仍然报告 Cookie 计数为 0)。
  3. 创建另一个HttpWebRequest实例并将其设置globalCookieContainer为请求的CoockieContainer.
  4. POST 到需要身份验证的最终 url。出于某种原因,这次第二个请求对象将 cookie 作为请求的一部分提供并通过。

cookie 管理的整个“魔法”在任何地方都没有很好地描述(我真的试图四处搜索)。

我们已经涵盖了这种情况。但是在什么情况下HttpWebRequest.Credentials应该使用呢?

0 投票
1 回答
998 浏览

c# - 从函数返回 CookieContainer

我正在创建一个应用程序来在登录部分的网站上做一些不同的事情。

为此,我必须为我发出的所有请求维护一个连续的 Cookie 会话。

到目前为止,我已通过 HttpWebRequest 成功连接到该网站,并且响应已确认这一点,但是我无法重用 cookie。

我已经阅读了所有内容,并找到了指示如何在同一函数或类中使用 cookie 的主题,但我需要能够在多个不同的函数中使用 cookie。

我的第一个想法是尝试从初始登录函数返回 cookie 容器,然后将其作为参数传递给每个后续函数,但我就是无法继续。

有没有人可以提出更好的方法或我可以做到这一点的方法?

0 投票
2 回答
318 浏览

c# - 如何在 domain.com 和 www.domain.com 之间共享 cookie?

我正在使用 HttpWebRequest 从网站下载数据,我注意到一个与 cookie 相关的错误。当您从 domain.com 获取数据并且该网站重定向到发送 cookie 的 www.domain.com 时,该 cookie 不会与 domain.com 共享。这会在我的应用程序中导致一些讨厌的错误。

我知道 www.domain.com 不需要与 domain.com 相同的网站,但我相信在这种情况下,好处将超过任何相关的风险。

有什么简单的方法可以自动将 cookie 从 domain.com 应用到 www.domain.com,反之亦然?

0 投票
1 回答
6586 浏览

c# - WebBrowser.Document.Cookie 不接受我的 CookieContainer cookie

我正在尝试显示一个需要先登录的网页。我正在使用 HttpWebRequest/Response 对象通过在后台收集会话和授权 cookie 来部分完成日志记录。

登录后,HttpWebResponse 对象返回给我我想通过 WebBrowser 控件向用户显示的 HTML 页面,因此我知道我有正确的会话/授权 cookie 集来访问所需的网页。

使用相关 cookie 正确填充 CookieContainer 后,我将 WebBrowser.DocumentText 属性设置为准备好的 HTML,其中包含对我要显示的网址的 GET 命令。浏览器弹出尝试呈现准备好的 HTML,我假设我收到与丢失 cookie 相关的服务器错误。

当我在调用 DocumentText 属性之前尝试设置 WebBrowser.Document.Cookie 时,在我看到的调试器中,Cookie 属性在尝试将其设置为“cookName=cookValue;cookName=”形式的字符串后始终保持为空烹饪价值;”。

为什么 Cookie 属性拒绝我传递的 cookie 字符串?这与 HttpOnly cookie 有关吗?我的 cookie 字符串格式不正确吗?我是否试图在错误的时间设置 Cookie 属性?

我进行了 WebBrowser.Navigate("about:blank") 调用,这似乎是正确初始化 WebBrowser 对象所必需的。

0 投票
2 回答
1796 浏览

c# - CookieContainer 手动 cookie 覆盖

您好,我在设置一个 cookie 时遇到了小问题。我正在使用 HttpWebRequest 类来发送我的请求。我需要这个设置cookie的代码:

但这会引发错误

cookie 的 'Value'='val1,val2' 部分无效。

我也尝试过 UrlEncoding cookie,例如:

但是cookie变成Cookie: cookie=val1%2cval2了被网页拒绝的那个。

我还尝试在值部分周围使用引号:

但是这个也被网站拒绝了。

也许有人知道我如何手动将 cookie 值覆盖为我需要的值而不会触发错误?

帮助将不胜感激。

0 投票
1 回答
644 浏览

cookies - CookieContainer 数据丢失,为什么?[C#,网页表单]

网页表格:

后面的代码:

您必须登录才能查看http://example.com/elements/13579642/子页面。单击“显示”按钮时,它应该填充txtBxSource元素源代码,但事实并非如此。相反,它显示了http://example.com/home/源代码。如果我在一切正常的情况下移动整个代码public void btnLogin_Click,否则它不会。

  1. 我的问题的解决方案是什么?

  2. 问题:一旦我把整个东西放在一个网站/网络主机上并且有人(通过这个网页)在http://example.com/ 网站上登录并使用这个迷你应用程序,http: //example.com/网站会收到自己的IP还是webhost的IP?

0 投票
1 回答
2914 浏览

c# - 将 CookieContainer 与 WebBrowser 控件一起使用?

我已经创建了一个CookieContainer并存储了其中的 cookie HttpWebRequest。有没有办法可以在 WebBrowser 控件上使用这个 CookieContainer ?

谢谢您的帮助。

0 投票
2 回答
9226 浏览

vb.net - 使用 VB.NET 和 httpwebrequest cookiecontainer 登录

我认为cookiecontainer(httpwebrequest)有问题

我的班级有两个主要功能,首先获取一个新表单(表单标签中的隐藏令牌),它应该设置 cookie(未设置),然后第二个函数(doLogin)应该登录表单。为什么没有设置cookie...?这是我的代码:(您可以使用“http://wetcatdesign.com/wiki/”作为 wikiURL 来测试我的代码)

0 投票
1 回答
17221 浏览

c# - CookieContainer 混淆

据我了解,CookieContainer通过HttpWebRequests持久化cookie的基本用法如下:

然后:

但我无法理解这个过程背后的逻辑。变量 cookies 在初始化后似乎没有在任何地方重新分配。第一个 WebResponse 中的 cookie 究竟是如何进入第二个 WebRequest 的?