在 UIWebView 中启用 Cookie

2023-11-25

如何在使用 UIWebView 窗口的 iPhone 应用程序中启用 cookie,以便我的登录系统正常工作?


肯定是从

[NSHTTPCookieStorage sharedHTTPCookieStorage].cookieAcceptPolicy = 
    NSHTTPCookieAcceptPolicyAlways;

但是,正如 @JoelFan 提到的,问题可能是您的用户代理字符串导致 ASP.NET 尝试无 cookie 登录并失败。而不是包含以下内容的响应

设置 Cookie:.ASPXAUTH=真长十六进制数

它返回一个重定向到类似的内容

地点:/(F(长排序base64ish-looking字符串))/

默认的 UIWebView 用户代理字符串类似于

用户代理:Mozilla/5.0(iPad;CPU OS 7_0_2,如 Mac OS X)AppleWebKit/537.51.1(KHTML,如 Gecko)Mobile/11A501

但 ASP.NET 不喜欢这样。 Safari 发送如下内容:

用户代理:Mozilla/5.0(iPad;CPU OS 7_0_2,如 Mac OS X)AppleWebKit/537.51.1(KHTML,如 Gecko)版本/7.0手机/11A501野生动物园/9537.53

尽早执行以下操作,也许在您的 AppDelegate.m 中

// DON'T try to reuse a UIWebView for this. 
UIWebView *wv = [[UIWebView alloc] initWithFrame:CGRectZero];
// This webview has already decided to use the default user agent string.

// let's use javascript to get the existing user agent string
NSString *userAgent = [wv stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];

// let's tack on some stuff to make ASP.NET happy
userAgent = [userAgent stringByAppendingString:@" Version/7.0 Safari/9537.53"];

[[NSUserDefaults standardUserDefaults] registerDefaults:@{@"UserAgent": userAgent}];
// New UIWebViews inited after here will use the user agent string you made.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 UIWebView 中启用 Cookie 的相关文章

  • 在 iOS 7 中查看 Core Data 创建的 sqlite 文件时出现问题

    当我尝试访问由核心数据创建的数据库文件时遇到问题 DB 文件位于 Documents 文件夹中 我已将其复制到桌面并使用 Firefox 插件打开它 Hello sqlite文件不包含任何行我有使用核心数据插入值 我正在使用 iOS 7 模
  • 如何从 Xcode 4.5 卸载 iOS 5.0 模拟器

    我已经安装了 Xcode 4 5 由于我编写应用程序是为了好玩 我不打算支持旧版 iOS 版本 并且为了节省 500 GB iMac 上的空间 是否有办法删除它 尝试从 Xcode 包中支持的平台中删除 iPhone iPhoneSimul
  • 如何本地化 iOS 故事板

    我有一个包含一些视图的 iPhone 故事板 例如 导航项标题名为News 应翻译为其他语言 当我向故事板添加新的本地化版本时 它会为新语言创建当前故事板的副本 在这里我可以更改导航项的标题 但对我来说它似乎不太有用 如果我的故事板包含 1
  • 如何从标签栏控制器上方显示 UIActionSheet 视图?

    我需要在选项卡栏控制器上方显示操作表 我的意思是 即使操作表视图处于可见模式 我也能够看到选项卡栏控制器 因此 请建议如何从选项卡栏控制器上方查看 是否可以 其次 如何更改操作表的背景颜色和取消按钮背景颜色 请帮我 谢谢你 马丹 莫汉 要从
  • NSString 对象的最大长度是多少?

    NSString 对象中可以保存的最大字符串大小是多少 这会动态变化吗 我假设 NSString 的硬限制是 NSUIntegerMax 个字符 因为 NSString 的索引和大小相关的方法返回 NSUInteger 由于当前能够运行 i
  • iOS 何时清理本地应用程序 ./tmp 目录?

    iOS什么时候清理本地应用程序 tmp目录 请注意 这不是一个骗局这个问题 https stackoverflow com questions 3593900 iphone storage in tmp directory 我问的是应用程序
  • Xcode - 发布和分发配置中的 Malloc_Error

    仅当我在设备上选择发布或分发配置时 我才会收到此错误 在模拟器上它运行良好 请问 我错在哪里 cc1obj 4113 malloc mmap size 429379584 failed error code 12 error can t a
  • 更改目录时 Gitlab CI 运行程序作业失败退出状态 1

    我正在使用我的个人机器作为使用 Fastlane 的 iOS 项目的运行程序 这主要是因为共享运行器没有为 iOS 设置 因为它们没有安装 Xcode 更改目录时我的作业立即失败 它是一个 shell 运行程序 根本没有其他自定义配置 有什
  • Swift:Tableview 在导航栏下方滚动但在状态栏上方滚动?

    我使用以下技巧隐藏了导航栏的阴影 self navigationController navigationBar setBackgroundImage UIImage for default self navigationControlle
  • 从设备获取联系人列表时出现问题

    这段代码有什么问题 NSMutableArray contactArray NSMutableArray alloc init ABAddressBookRef addressBook ABAddressBookCreate CFArray
  • 按升序对 NSDictionary 进行排序

    我正在尝试排序NSDictionary按升序排列 我正在使用这段代码 NSDictionary valDict self mGetDataDict key rowKey for NSString valueKey in valDict al
  • websockets 如何处理同一浏览器的两个选项卡

    I have 1 个 PHP 服务器 提供 http 请求 和 1 node js 发布更新的数据消息 每个连接都带有 websocket php 服务器设置其 cookie 在一个浏览器中 此 cookie 可在所有选项卡中使用 当浏览器
  • 使用 Dirac 在 iPhone 中进行实时音高变化 [重复]

    这个问题在这里已经有答案了 可能的重复 iPhone 上的实时音调变换 https stackoverflow com questions 1100495 real time pitch shifting on the iphone 我已经
  • 如何在 iPhone 中使用 XMPPFramework 创建 MultiUserChatRoom

    我正在 iPhone 中使用 XMPPFramwwork 开发聊天应用程序 我成功完成了一对一聊天 现在我想在我的应用程序中开发多用户聊天 我尝试了以下代码 但未调用 XMPPRoomDelegate 的任何委托方法 我如何开始创建聊天室
  • 使用ios sdk在youtube上上传视频的方法[重复]

    这个问题在这里已经有答案了 可能的重复 如何从 iOS 应用程序中将视频上传到 YouTube https stackoverflow com questions 3528568 how do i upload a video to you
  • 找不到 Cocoa/Cocoa.h 文件

    我在用XMPPFramework在我的应用程序中 我已将 Cocoa Cocoa h 导入到我的 m 文件中 但是当我构建项目时Xcode显示错误 错误 未找到 Cocoa Cocoa h 文件 我该如何解决这个错误 如果您正在为 iOS
  • 移动物体而不实际接触物体

    我是 iPhone 开发的初学者 我一直在寻找这个问题的答案 但还没有找到任何东西 我想做的是允许用户移动对象而无需实际触摸该对象 他们可以触摸屏幕上的任何位置 并且当他们移动时 对象将从原来的位置向用户的方向移动移动但不会跳到他们的触摸位
  • Facebook 登录打开错误的应用程序

    我正在尝试使用 facebook 实现应用程序的登录 但每次我尝试登录时 它都建议打开错误的应用程序 我尝试了一些在这里找到的东西 但没有成功 在 Facebook 的开发者页面上我添加了一个后缀 我的 plist 如下 有谁知道发生了什么
  • 隐藏 UITableview 单元格

    我正在尝试从 UITableView 中隐藏单元格 就像删除操作一样 但我只想隐藏它以便稍后在相同位置显示它 我知道 UITableViewCell 有一个名为 隐藏 的属性 但是当我使用此属性隐藏单元格时 它会隐藏但没有动画 并且会留下空
  • iOS 中是否需要 Google App Indexing SDK 才能使用 Google DeepLinking?

    我想用谷歌应用程序索引与我的网页和 iOS 应用程序 我支持通用链接 or 深层链接用谷歌术语 与苹果Search并相应地设置我的网页 From 谷歌文档 https developers google com app indexing i

随机推荐

  • 如何修复 Play 2.3.x 启动时的“SLF4J:类路径包含多个 SLF4J 绑定”?

    我升级了 Play 和其他库的版本 现在看到了 SLF4J Class path contains multiple SLF4J bindings SLF4J Found binding in jar file home paul ivy2
  • 创建元素时触发事件

    我想调用一个函数creation of new divisions在 DOM 中 即通过 ajax 调用动态创建 我知道我可以使用 live 方法来触发该函数 但什么event我应该在live method 我的意思是 当动态创建新部门时
  • 目前尚未启用对实验性语法“jsx”的支持

    我正在尝试运行非常简单的代码 但出现错误 我没有使用创建反应应用程序 看起来我的 babel config js 文件被忽略了 This is the structure of my small project 我的 html 文件 div
  • 在 Hadoop 2 上运行作业时无法初始化集群异常

    该问题与我之前的问题相关所有守护进程都在运行 jps 显示 6663 JobHistoryServer 7213 ResourceManager 9235 Jps 6289 DataNode 6200 NameNode 7420 NodeM
  • 数据库如何在B-Tree/B+Tree内部存储数据

    我的问题是数据库如何存储数据以及如何在内部执行查询 假设我们的表中有以下字段 ID Name Age Weight Manager 我们查询select from Table1 where age gt 50 and weight lt 1
  • 转储进程的内存

    当读取 proc PID maps 时 您将获得映射的内存区域 有没有办法转储这个区域之一 cat proc 18448 maps snip 0059e000 005b1000 r xp 00000000 08 11 40 usr loca
  • Django:选择具有最大时间戳的值或连接到同一个表

    我有一个简单的 Django 模型 class Server models Model name models CharField max length 120 class ServerPropertie models Model name
  • 数组中的前增量与后增量

    我正在学习编程 我是从C语言开始的 我正在读 Let us C 书 我在那本书中经历了这个程序 main int a 5 5 1 15 20 25 int i j k 1 m i a 1 j a 1 m a i printf n d d d
  • Gnuplot 平滑置信区间线而不是误差线

    我想要在数据线上方和下方有 95 的置信区间线 而不是每个点的垂直条 有没有一种方法可以在 gnuplot 中执行此操作而无需绘制另一条线 或者我是否需要绘制另一条线 然后对其进行适当的标记 您可以使用filledcurves风格填充区域9
  • Google Colab 上的 PyTorch Geometric CUDA 安装问题

    我正在开发一个 PyTorch Geometric 项目 使用 Google Colab 来支持 CUDA 由于默认情况下它的库不存在 因此我运行 pip install upgrade torch scatter pip install
  • ASP.NET WEB API 未绑定到 POST 上的动态对象

    如果有以下 Api 控制器 使用 StrutureMap 进行 DI using System using System Dynamic using System Net using System Net Http using System
  • python pandas:从财政年度和月份获取财政季度(针对英国)

    我有一个数据框 其中有两个有用的列 1 财政年度 2 日期 我想添加一个显示财政季度的新列 仅供参考 英国财政年度为 4 月 1 日至 3 月 31 日 我的数据如下所示 fiscal year date FY15 16 2015 11 0
  • 如何使用 HTTP 将 CORS 规则添加到 Azure 存储模拟器?

    要使用 Azure 存储 模拟器 表服务 我需要为我的 TypeScript 浏览器应用程序添加 CORS 规则 我想使用 REST 接口 来自 Postman 而不是具有同源策略的浏览器 手动添加该规则 该文档没有给出模拟器的正确 URL
  • 为什么 IIS 比 ASP.NET 开发服务器慢?

    我有一个 ASPX 网页 它执行一些复杂的操作和数据库调用 当我通过运行 ASP NET Development Server Cassini 查看网页时 大约需要200ms Then 无需更改任何代码和配置 我将网站部署到本地计算机 II
  • Java FX 2 警报声音

    如何在 Java FX 2 中播放警报声音 有没有办法使用操作系统默认通知声音 使用纯 JavaFX 播放声音 只需使用一个实例AudioClip 这非常适合仅演奏单个短音 播放默认通知声音 关于 Windows 操作系统 有一种方法可以通
  • 自定义首选项 Android Kotlin

    我想子类化Preference在 Kotlin 中创建自定义首选项 我无法在 首选项 屏幕中获取要膨胀的自定义首选项 如果我从我的首选项屏幕中删除此自定义首选项 我已实现的其余首选项 此处未显示 工作正常 类似的还有很多seeming这里有
  • Google Maps JS API v3 - 简单的多标记示例

    Google Maps Api 相当新 我有一组数据想要循环浏览并绘制在地图上 看起来相当简单 但我发现的所有多标记教程都相当复杂 让我们使用 Google 网站上的数据数组作为示例 var locations Bondi Beach 33
  • Cloud Endpoint 参数不应命名

    我想发送一个HashMap
  • 跨域获取iframe当前src url [重复]

    这个问题在这里已经有答案了 我的网络应用程序中有一个 iframe 我需要从父文档获取其当前 url 当用户导航框架并更改原始源 url 时 只需要 URL 即可进行社交分享 作为跨域场景 我不拥有子文档 它是远程域 我知道同源策略可以防止
  • 在 UIWebView 中启用 Cookie

    如何在使用 UIWebView 窗口的 iPhone 应用程序中启用 cookie 以便我的登录系统正常工作 肯定是从 NSHTTPCookieStorage sharedHTTPCookieStorage cookieAcceptPoli