我们在API服务器上实现了某些安全功能。其中一部分功能是查找特定的HTTP头,如Origin
和X-Requested-With
。当我们的应用向服务器发出自定义调用时,它会将这些特定的头添加到请求中。但应用的其他部分只进行标准的http调用,如加载图像:即<img src="https:mydomain.com/file/img1.png">
但我们发现的问题是,在iOS上,这两个标头从标准的http调用中被省略了。是否有办法强制iOS将Origin
和/或X-Requested-With
添加到资源加载调用中?
1条答案
按热度按时间jtjikinw1#
无法强制iOS向标记发出的标准HTTP请求添加自定义标头(如Origin和X-Requested-With),因为浏览器控制这些请求的生成。
但是,您可以通过API服务器代理图像请求来解决此限制,这涉及到修改标记以指向API服务器上的URL,该URL从源获取图像并在返回响应之前添加必要的标头。
以下是如何在Swift中使用URLSession实现此功能的示例:
在这个例子中,我创建了一个自定义的URLRequest对象,并添加了必要的头文件,然后使用URLSession获取图像数据。您可以修改此代码以满足您的特定需求,并将其与现有的代码库集成。
请记住,这种变通方法有一些缺点,如增加服务器负载和潜在的缓存问题,因此应谨慎使用。