NSURLConnection - 请求失败时获取HTTP状态代码

时间:2017-09-11 12:05:22

标签: objective-c nsurlconnection nsurlconnectiondelegate

NSURLConnection无法请求后,有什么方法可以获取HTTP状态码吗?根据文档,我可以从-connection:didReceiveResponse:获取HTTP状态代码。但是,如果请求失败,则只调用-connection:didFailedWithError:,到目前为止,我还没有找到任何方法来获取此方法中的状态代码。

p / s:我正在处理一个非常古老,复杂的项目,并且它非常容易出错,因此我无法使用AFNetworking或NSURLSession。

1 个答案:

答案 0 :(得分:-1)

正如NSURLConnectionDataDelegate Protocol的Apple文档中所述,只有在收到足够的数据来创建NSURLResponse对象时,才会调用didReceiveResponse:。

虽然NSURLResponse对象可能在以后才可用,但是连接可以通过使用connection:didReceiveData:方法来接收部分数据。请注意,这似乎排除了HTTP标头,只包含响应的“数据”组件。可能有一种方法可以触发didReceiveResponse:如果服务器提前知道将传输多少数据,则可以提早:尽管我不熟悉这一点以确认。

请注意,响应数据通常以大约1KiB的数据块出现,具体取决于各种网络设置(如MTU)以及服务器“刷新”其输出管道的频率。

祝你好运!