【问题标题】:WKWebView lost body in NSURLProtocolWKWebView 在 NSURLProtocol 中丢失了正文
【发布时间】:2017-12-28 07:06:52
【问题描述】:

当我使用 NSURLProtocol 捕获来自 WKWebView 的请求时,正文丢失了。有什么办法可以解决这个问题?

【问题讨论】:

    标签: ios objective-c wkwebview nsurlprotocol


    【解决方案1】:

    NSURLRequest 对象在协议中永远不会有正文数据。您必须改为获取正文流,打开它,然后以流方式读取数据。

    为了获得最佳性能,您还应该将该数据重新发送到新绑定流对的写入端,并将读取端作为新请求中的主体流提供。 (使用 Core Foundation API 中的 CFStreamCreateBoundPair 函数并使用桥接转换将 CFStreamRef 对象转换为 NSStream 对象。)

    【讨论】:

    • 我应该在哪里做这个? NSURLProtocol 委托方法?请问哪一个
    • 几种方法。最低限度:在initWithRequest:cachedResponse:client: 中存储对流的引用,创建流对并分配自定义流委托类实例以在startLoading 中为其提供数据,并在stopLoading 中停止任何正在进行的加载。
    • 等一下。我只是重读了这个问题。 WKWebView 是进程外的,根本不支持 NSURLProtocol,所以你不会在那里接到任何电话,不管有没有正文。这个问题应该是关于 UIWebView 的吗? 困惑
    猜你喜欢
    • 2015-01-18
    • 1970-01-01
    • 2017-04-02
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 2017-02-23
    • 2023-04-01
    • 1970-01-01
    相关资源
    最近更新 更多