NSURLResponse

NSURLResponse 相关

与响应URL加载请求相关联的元数据,独立于协议和URL方案。

相关的NSHTTPURLResponse类是NSURLResponse的一个常用子类,它的对象表示对HTTPURL加载请求的响应,并存储其他特定于协议的信息,如响应头。

无论何时发出HTTP请求,返回的NSURLResponse对象实际上是NSHTTPURLResponse类的一个实例。

注意: NSURLResponse对象不包含表示URL内容的实际字节。相反,数据要么通过委托调用一次返回一部分,要么在请求完成时返回全部,这取决于用于初始化请求的方法和类。

将获取的网站数据读入内存,学习从URL加载接收内容数据的各种方法。

NSURLResponse 相关属性和方法

- (instancetype)initWithURL:(NSURL *)URL MIMEType:(nullable NSString *)MIMEType expectedContentLength:(NSInteger)length textEncodingName:(nullable NSString *)name NS_DESIGNATED_INITIALIZER
创建一个初始化的NSURLResponse对象,将URL、MIME类型、长度和文本编码设置为给定值。
这是NSURLResponse的指定初始化器。
@property (nullable, readonly, copy) NSURL *URL;
响应的URL。
返回接收方的URL。
@property (nullable, readonly, copy) NSString *MIMEType;
响应的MIME类型。
MIME类型通常由响应的原始源提供。
但是,如果可以确定响应的源报告的信息不正确,则可以通过协议实现更改或更正该值。
如果响应的原始源不提供MIME类型,则可以尝试猜测MIME类型。
@property (readonly) long long expectedContentLength;
响应内容的预期长度。
如果长度无法确定,则此属性的值为NSURLResponseUnknownLength。
一些协议实现将内容长度报告为响应的一部分,但并不是所有协议都保证能够交付那么多数据。
您的应用程序应该准备好处理或多或少的数据。
@property (nullable, readonly, copy) NSString *textEncodingName;
由响应的原始源提供的文本编码的名称。
如果协议没有提供文本编码,则此属性的值为nil。
您可以通过调用CFStringConvertIANACharSetNameToEncoding将该字符串转换为CFStringEncoding值。
随后,您可以通过调用CFStringConvertEncodingToNSStringEncoding将该值转换为NSStringEncoding值。
@property (nullable, readonly, copy) NSString *suggestedFilename;
响应数据的建议文件名。
访问此属性时,尝试使用以下信息生成文件名,以便:
使用内容配置头指定的文件名。
URL的最后一个路径组件。
URL的主机。
如果URL的主机不能转换为有效的文件名,则使用文件名“unknown”。
在大多数情况下,该属性根据MIME类型附加适当的文件扩展名。
无论资源是否保存到磁盘,访问此属性总是返回一个有效的文件名。

NSHTTPURLResponse 相关

与响应HTTP协议URL加载请求相关联的元数据。

NSHTTPURLResponse类是NSURLResponse的子类,它提供了访问特定于HTTP协议响应的信息的方法。

无论何时进行HTTPURL加载请求,从NSURLSession、NSURLConnection或NSURLDownload类中返回的任何响应对象都是NSHTTPURLResponse类的实例。

它是NSURLResponse的专门化,为访问特定于HTTP协议响应的信息提供了便利。

NSHTTPURLResponse 相关属性方法

- (nullable instancetype)initWithURL:(NSURL *)url statusCode:(NSInteger)statusCode HTTPVersion:(nullable NSString *)HTTPVersion headerFields:(nullable NSDictionary *)headerFields API_AVAILABLE(macos(10.7), ios(5.0), watchos(2.0), tvos(9.0));
使用状态代码、协议版本和响应头初始化HTTP URL响应对象。
@property (readonly) NSInteger statusCode;
响应的HTTP状态代码。
返回接收方的HTTP状态码。
@property (readonly, copy) NSDictionary *allHeaderFields;
响应的所有HTTP头字段。
包含作为服务器响应的一部分接收到的所有HTTP头字段的字典。通过检查这个字典,客户机可以看到HTTP服务器返回的“原始”头信息。
此字典中的键是从服务器接收到的头字段名称。有关常用HTTP头字段的列表,请参见RFC 2616。
HTTP报头不区分大小写。为了简化代码,将某些头字段名规范化为它们的标准形式。例如,如果服务器发送一个content-length头,它会自动调整为Content-length。
返回的标头字典在set操作期间被配置为保留大小写(除非键已经与不同的大小写一起存在),并且在查找键时不区分大小写。
例如,如果您设置了头文件X-foo,然后又设置了头文件X-foo,那么字典的键值将是X-foo,但是值将取自X-foo头文件。
+ (NSString *)localizedStringForStatusCode:(NSInteger)statusCode;
返回与指定HTTP状态码对应的本地化字符串。
HTTP状态码。详见RFC 2616。
用于向用户显示描述指定状态代码的本地化字符串。

你可能感兴趣的:(NSURLResponse)