NSURLConnection无法请求后,有什么方法可以获取HTTP状态码吗?根据文档,我可以从-connection:didReceiveResponse:
获取HTTP状态代码。但是,如果请求失败,则只调用-connection:didFailedWithError:
,到目前为止,我还没有找到任何方法来获取此方法中的状态代码。
p / s:我正在处理一个非常古老,复杂的项目,并且它非常容易出错,因此我无法使用AFNetworking或NSURLSession。
答案 0 :(得分:-1)
正如NSURLConnectionDataDelegate Protocol的Apple文档中所述,只有在收到足够的数据来创建NSURLResponse对象时,才会调用didReceiveResponse:。
虽然NSURLResponse对象可能在以后才可用,但是连接可以通过使用connection:didReceiveData:方法来接收部分数据。请注意,这似乎排除了HTTP标头,只包含响应的“数据”组件。可能有一种方法可以触发didReceiveResponse:如果服务器提前知道将传输多少数据,则可以提早:尽管我不熟悉这一点以确认。
请注意,响应数据通常以大约1KiB的数据块出现,具体取决于各种网络设置(如MTU)以及服务器“刷新”其输出管道的频率。
祝你好运!