【问题标题】:Receive HTTP Headers via NSURLRequest/NSURLConnection in Cocoa在 Cocoa 中通过 NSURLRequest/NSURLConnection 接收 HTTP 标头
【发布时间】:2010-09-19 05:25:44
【问题描述】:

我一直在研究如何通过使用 NSURLConnection 发出的请求来接收 HTTP 标头。通常使用以下简单的方式发出请求:

    NSURLConnection *connection = [[NSURLConnection alloc]
    initWithRequest:request
        delegate:self];

我个人在 Apple 的丰富文档中发现接收响应标头的唯一方法是使用以下 NSURLConnection 类方法通过同步调用:

+ (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSURLResponse **)response error:(NSError **)error

在这里我可以很容易地引用一个 NSURLResponse 类型的响应对象。这里的问题是我还没有准备好通过移动设备发出同步请求,尤其是对于像 EDGE 这样具有高延迟的网络。 NSURLConnection 的默认异步行为是否可以得到类似的结果?

【问题讨论】:

    标签: objective-c iphone cocoa macos


    【解决方案1】:

    在您的连接委托中,添加-connection:didReceiveResponse: 方法。如果您正在执行标准 HTTP 请求,则传入的 NSURLResponse 对象实际上是一个 NSHTTPURLResponse 对象,并响应 -allHeaderFields 消息。这应该是您正在寻找的。​​p>

    【讨论】:

    • 我也认为我们的。现在我提取了一个包含更多信息的标题字段:`Www-Authenticate: Digest realm=\"test\" qop=\"auth\"´ 等等。是否有可能将这些详细信息获取/设置为附加字典或数组?
    猜你喜欢
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多