问题标签 [nshttpcookie]

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 回答
2219 浏览

javascript - 在 iOS 应用程序中设置 cookie 并从 Safari 读取该 cookie

我正在尝试执行以下操作:在我的 appDelegate 中,我正在设置一个 cookie。之后,我尝试使用来自 webapp 的 JavaScript 读取该 cookie。这可能吗?因为我做不出来...

这是我在 iOS 应用程序中的代码:

在我的 JavaScript 中,我使用 jquery.cookie 插件来编写和读取 cookie。但什么都没有......这是我的代码:

警报在正文“[object Object]”中,应该有我在我的应用程序中设置的“yes”值。

大家觉得这可能吗?

谢谢!

0 投票
1 回答
1746 浏览

ios - AVPlayer 在 302 重定向后无法为同一个域发送 cookie

我正在使用 iOS AVPlayer 播放 HLS 流。在 HLS 会话开始时,当我收到 index.m3u8 URL 以响应创建 AVPlayerItem 时,响应还设置了基于会话的身份验证所需的 cookie。假设这个 cookie 名称是 myCookie,它是为域“.myhost.com”创建的。现在一切正常,播放器发送 myCookie 以从 xxx.myhost.com/stream 下载 ts 块。随着播放的进行,播放列表最终会更新,播放器会下载更新的播放列表。有时更新的播放列表包含一个 ts 块,可以从另一个主机的 URL 下载。因此,在尝试使用不同的主机播放块时,播放器请求 xxx.someotherhost.com 下载块。这会导致响应 302 重定向到 location:xxx-abc.myhost.com/ads。显然 AVPlayer 没有 t 在从 someotherhost.com 请求块时发送 myCookie,因为它与 myCookie 的域不匹配。但问题是重定向到 xxx-abc.myhost.com/ads 后,即使重定向 URL 的域也是与 cookie 域匹配的 myhost.com,AVPlayer 也不会发送 myCookie。

请注意,重定向 URL 域与原始流域相同,也与 myCookie 的域相同。由于 AVPlayer 在重定向后不发送 cookie 来下载块,因此 ts 块请求失败并显示 403 Forbidden (No Token)

我在这里做错了什么,或者这看起来像 iOS AVPlayer 中的一个错误?

有没有办法解决这个问题?请分享你的想法。

0 投票
1 回答
673 浏览

iphone - 如何强制 UIWebView 读取 NSHTTPCookie

我有一个UIWebView显示登录页面。用户填写用户名和密码,登录后页面保存NSHTTPCookie在应用沙箱中。

通过这行代码,[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]我可以读取我所有的 cookie 并在代码中使用它。

问题是当我重新加载 webView 时(例如,当我创建一个新的 webView 以显示站点的另一个页面时),web 视图不会读取 cookie 并再次显示登录页面。

所以用户不能保持登录状态,这会导致用户点击他想要查看的所有页面的用户名和密码。

如何强制 webview 读取存储的 cookie?

0 投票
1 回答
1109 浏览

objective-c - 如何存储 $_SESSION,Objective-C

有什么方法可以在 Objective-C 中捕获和存储 $​​_SESSION 吗?我知道会话和 cookie 都非常交织在一起,那么是否可以使用 NSHTTPCookie 来捕获它或其他什么?或者这是我必须在 php 代码中而不是在我的 Objective-C 代码中处理的东西才能使它工作?

我可以告诉你我想做什么。我正在尝试通过 NSMutableURLRequest 将一些信息发送到服务器,这不是问题,然后我试图捕获我将收到的会话。

0 投票
0 回答
307 浏览

ios - 单元测试 NSHTTPCookieStore

在我的 iPhone 应用程序中,要注销我的客户端,我需要删除给定 URL 的 cookie。

编写代码很容易,来自 AFNetworking 的 @matt 提供了一个简单的代码示例。

这很容易。现在在我的单元测试中,我想证明我的代码正在删除与这个 baseURL 相关的 cookie。

问题,如何将 NSHTTPCookie 添加到 NSHTTPCookieStorage 以便我可以使用

我正在尝试像这样添加cookie:

cookie 被正确添加,但是当我为指定的 baseURL 调用它时,我得到一个 nil 值!

以前有人经历过吗?

0 投票
1 回答
2423 浏览

objective-c - 为什么在设置了一个 NSHTTPCookie 之后,它没有附加到 NSURLRequest 中?

我正在设置(或尝试设置)一个 NSHTTPCookie,如下所示:

调用此方法后,我创建了一个 NSURLRequest:

但输出是:

我希望看到附加到请求的 cookie 信息,但事实并非如此。

我对 cookie 了解不多,所以我不知道我的代码是否遗漏了什么,或者我只是想念解释输出的含义。

谢谢你的帮助。

0 投票
1 回答
1094 浏览

ios - 手动设置 NSHTTPCookieExpires

我想NSHTTPCookieNSHTTPCookieStorage.

为此,我正在创建一个 cookie 并将其添加到NSHTTPCookieStorage如下所示:-

集合的所有属性都符合NSHTTPCookie预期,除了NSHTTPCookieExpires.

  1. 如果我通过[NSDate date],则设置该值。但问题是它不是所需NSHTTPCookieExpires=Tue, 15-Jan-2013 21:47:38 GMT. 的格式[NSDate date]2014-06-19 12:04:00 +0000.
  2. 当我尝试更改NSDateusing的格式时NSDateFormatter,输出为NSString.
  3. 问题是,无论NSString我设置什么NSHTTPCookieExpires键,它都是null有价值的。

尽管在文档中它说NSHTTPCookieExpires需要NSStringor NSDate

有谁知道为什么我们无法NSString为密钥设置值NSHTTPCookieExpires

0 投票
0 回答
1532 浏览

ios - 删除模拟器 Safari cookie 和缓存

我需要在需要时删除模拟器 cookie。我需要从 iOS 模拟器中删除 Facebook cookie。

我尝试了以下代码,但它不起作用。

0 投票
0 回答
262 浏览

ios7 - NSHTTPCookieStorage UTF-8 cookie 名称值被截断

在我NSHTTPCookieStorage用来将 cookie 存储在sharedHTTPCookieStorage.

我收到的其中一个 cookie 有一个名称值,其中包含非 ASCII 单词“Søren”。我可以看到在 HTTP 跟踪中设置了 cookie,但保存的 cookiesharedHTTPCookieStorage在“Søren”中的“S”之后被截断。在 HTTP 响应标头中设置的后续 cookie 都不会存储在sharedCookieStorage. 事实上,有问题的 cookie 以截断的形式存储了两次,几乎就像框架试图再次解析它然后放弃一样。

RFC2965 指出:

名称=必填值。状态信息(“cookie”)的名称为 NAME,其值为 VALUE。以 $ 开头的名称是保留的,应用程序不得使用。

我配置NSHTTPCookieStorage如下:

我认为这与 相关NSHTTPCookieStorage,而不是NSURLResponse. 我需要做任何额外的事情来处理 UTF-8 cookie 名称值吗?

0 投票
1 回答
1666 浏览

c# - C# 使用 HttpWebRequest 设置 cookie

我正在使用一个名为 Ranorex 的测试自动化平台。代码是 C#。在打开浏览器开始测试之前,我想使用 HttpWebRequest 为服务器设置一个 cookie。

下面是代码。一切执行都没有问题。当我使用浏览器查看 cookie 时——我的不存在(还有 54 个其他 cookie)——当我如下所示迭代响应时——我只有三 (3) 个 cookie。

感谢您的帮助。

该方法将执行测试

谢谢克里斯