有没有办法在 SFSafariViewController 发出的初始请求中设置 referer?

Is there a way to set the referer in the initial request made by SFSafariViewController?

SFSafariViewController 很有说服力,但有一个非常简单的 API,它不允许在呈现时发起的请求上设置任何字段。有什么聪明的方法可以在 SFSafariViewController 发起的请求上设置 HTTP referer header 吗?

不幸的是,没有 API。

您可以检查 SFSafariViewControllerDelegate 页面 - 所有委托方法都是 post-加载处理程序。

WKWebView 和 WKNavigationDelegate 是可能的替代品之一(iOS 8.0+)。

我能想到的唯一方法是将请求从您控制的 Web 服务中退回。

遗憾的是你不能使用除 httphttps URLs 之外的任何东西,所以本地文件 URL 将不起作用(缺少监听设备上的一个插座)。