URLRequest
2021-03-05 本文已影响0人
晨阳Xia
与协议或URL方案无关的URL加载请求
Declaration
struct URLRequest
Overview
URLRequest封装了加载请求的两个基本属性:要加载的URL和用于加载该请求的策略。此外,对于HTTP和HTTPS请求,URLRequest包括HTTP方法(GET,POST等)和HTTP标头。
URLRequest仅代表有关请求的信息,使用其他类(例如URLSession)将请求发送到服务器。有关这些技术的介绍,请参见将网站数据提取到内存中和将数据上传到网站。
编写Swift代码时,应优先使用NSURLRequest和NSMutableURLRequest类的结构。某些标头字段被保留;请参阅保留的HTTP标头。
Topics
Creating a Request
init(url: URL, cachePolicy: URLRequest.CachePolicy, timeoutInterval: TimeInterval)
使用给定的URL,缓存策略和超时间隔创建并初始化URL请求。
Working with a Cache Policy
var cachePolicy: URLRequest.CachePolicy
请求的缓存策略
typealias URLRequest.CachePolicy
缓存策略的别名
enum NSURLRequest.CachePolicy
用于指定与缓存的响应进行交互的常量。
Accessing Request Components
var httpMethod: String?
HTTP请求方法
var url: URL?
请求的URL
var httpBody: Data?
作为请求的消息主体发送的数据,例如HTTP POST请求。
var httpBodyStream: InputStream?
用于传递HTTP正文的流。
var mainDocumentURL :URL?
与此请求关联的主文档URL
Accessing Header Fields
var allHTTPHeaderFields: [String : String]?
包含请求的所有HTTP标头字段的字典。
func addValue(Strig, forHTTPHeaderField: String)
向标题字段添加值
func setValue(String? forHTTPHeaderField: String)
设置标题字段的值
func value(forHTTPHeaderField: String) -> String?
检索标头值
Controlling Request Behavior
var timeoutInterval: TimeInterval
请求的超时间隔
var httpShouldHandleCookies: Bool
一个布尔值,指示是否将与该请求一起发送并为该请求设置cookie
var httpShouldUsePipelining: Bool
一个布尔值,指示是否应在收到前一个响应之前发送请求
var allowCellularAccess : Bool
一个布尔值,指示是否允许该请求使用内置的蜂窝无线电来满足该请求。
Supporting Limited Modes
var allowsConstrainedNetworkAccess: Bool
个布尔值,指示当用户指定低数据模式时请求是否可以使用网络。
var allowsExpensiveNetworkAccess : Bool
一个布尔值,指示连接是否可以使用系统认为昂贵的网络接口
Accessing the Serivce Type
var networkServiceType: URLRequest.NetworkServiceType
与此请求关联的服务类型
typealias URLRequest.NetworkServiceType
网络服务类型的别名。
enum NSURLRequest.NetworkServiceType
指定请求如何使用网络资源的常量。
Comparing Rrequests
static func!= (URLRequest, URLRequest) -> Bool
返回一个布尔值,该值指示两个值是否不相等。
static func == (URLRequest, URLRequest) -> Bool
指示两个URL请求是否相同
Describing Requests
var description: String
请求的文字描述
var debugDescription: String
适用于调试的请求的文字描述
ver customMirror: Mirror
反映请求的镜像。
var hashValue: Iint
为请求计算的哈希值。
Using Reference Types
class NSURLRequest
需要参考语义或其他特定于Foundation的行为时使用的URL加载请求的表示形式。
class NSMutableURLRequest
可变的URL加载请求,桥接到NSURLRequest,当您需要引用语义或其他特定于Foundation的行为时使用
typealias URLRquest.ReferenceType
此值类型的等效引用类型的别名
Instance Method
func hash(into: inout hasher)
```
## Relationships
###### Conforms To
###### CustomDebugStringConvertible
###### CustomReflectable
###### CustomStringConvertible
###### Equatable
###### Hashable
###### ReferenceConvertible