tencent cloud

文档反馈

最后更新时间:2023-07-26 15:31:53

    API概览

    API
    描述
    会话管理接口
    QUIC 请求配置信息
    请求任务管理接口
    请求数据序列化接口
    响应数据序列化接口

    
    TQUICHTTPSessionManager
    

    API
    描述
    manager
    静态方法,构造 TQUICHTTPSessionManager
    根据配置构造 TQUICHTTPSessionManager 实例,配置信息见 TQUICURLSessionConfiguration
    根据 Url 构造 TQUICHTTPSessionManager 实例
    GET
    发起 GET 请求
    POST
    发起 POST 请求

    manger

    构造 TQUICHTTPSessionManager,使用默认 QUIC 配置
    
    + (instancetype)manager

    initWithSessionConfiguration

    创建
    TQUICHTTPSessionManager
    实例,并传入 QUIC 配置信息
    
    - (instancetype)initWithSessionConfiguration:(nullable TQUICURLSessionConfiguration *)configuration
    参数
    描述
    configuration
    QUIC 请求配置,详细信息见:TQUICURLSessionConfiguration

    initWithBaseURL

    创建
    TQUICHTTPSessionManager
    实例,并传入url,配置请求参数在此 url 为基础上添加
    
    - (instancetype)initWithBaseURL:(nullable NSURL *)baseURL;
    
    - (instancetype)initWithBaseURL:(nullable NSURL *)baseURL
    
               sessionConfiguration:(nullable TQUICURLSessionConfiguration *)configuration;
    参数
    描述
    baseURL
    请求域名
    configuration
    QUIC 请求配置,详细信息见:TQUICURLSessionConfiguration

    GET

    创建 GET 请求
    
    - (nullable TQUICURLSessionDataTask *)GET:(NSString *)URLString
    
                                   parameters:(nullable id)parameters
    
                                      headers:(nullable NSDictionary <NSString *, NSString *> *)headers
    
                              timeoutInterval:(NSTimeInterval)timeoutInterval
    
                             downloadProgress:(nullable TQUICURLSessionTaskDownloadProgressBlock)downloadProgress
    
                                      success:(nullable TQUICURLSessionTaskSuccess)success
    
                                      failure:(nullable TQUICURLSessionTaskFailure)failure
    参数
    描述
    URLString
    请求 Url
    parameters
    请求参数
    headers
    请求 Header 信息
    timeoutInterval
    连接超时时间
    downloadProgress
    下载进度回调
    success
    请求成功回调
    failure
    请求失败回调

    POST

    创建 POST 请求
    
    - (nullable TQUICURLSessionDataTask *)POST:(NSString *)URLString
    
                                    parameters:(nullable id)parameters
    
                                       headers:(nullable NSDictionary <NSString *, NSString *> *)headers
    
                               timeoutInterval:(NSTimeInterval)timeoutInterval
    
                                uploadProgress:(nullable TQUICURLSessionTaskUploadProgressBlock)uploadProgress
    
                                       success:(nullable TQUICURLSessionTaskSuccess)success
    
                                       failure:(nullable TQUICURLSessionTaskFailure)failure
    参数
    描述
    URLString
    请求 Url
    parameters
    请求参数
    headers
    请求 Header 信息
    timeoutInterval
    连接超时时间
    uploadProgress
    上传进度回调
    success
    请求成功回调
    failure
    请求失败回调

    TQUICURLSessionTaskSuccess

    任务执行成功回调 block
    typedef void (^TQUICURLSessionTaskSuccess)(TQUICURLSessionTask *task, id _Nullable responseObject)
    参数
    描述
    task
    请求任务
    responseObject
    响应数据

    TQUICURLSessionTaskFailure

    任务执行失败回调 block
    typedef void (^TQUICURLSessionTaskFailure)(TQUICURLSessionTask * _Nullable task, NSError *error)
    参数
    描述
    task
    请求任务
    error
    错误信息

    TQUICURLSessionManager

    会话管理接口
    API
    描述
    根据配置构造实例
    使用指定 NSURLRequest 参数发起请求
    配置请求完成后的数据统计回调
    设置接收响应结果回调 block

    initWithSessionConfiguration

    创建 TQUICURLSessionManager 实例,并传入 QUIC 配置信息
    - (instancetype)initWithSessionConfiguration:(nullable TQUICURLSessionConfiguration *)configuration
    参数
    描述
    configuration
    QUIC请求配置

    dataTaskWithRequest

    使用指定 NSURLRequest 参数发起请求
    - (TQUICURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request
                                      uploadProgress:(nullable TQUICURLSessionTaskUploadProgressBlock)uploadProgress
                                    downloadProgress:(nullable TQUICURLSessionTaskDownloadProgressBlock)downloadProgress
                                   completionHandler:(nullable TQUICURLSessionTaskCompletionHandler)completionHandler
    参数
    描述
    request
    请求配置,参考系统 NSURLRequest
    uploadProgress
    上传进度回调
    downloadProgress
    下载进度回调
    completionHandler
    请求完成回调

    setTaskDidFinishCollectingMetricsBlock

    配置请求完成后的数据统计回调
    - (void)setTaskDidFinishCollectingMetricsBlock:(nullable TQUICURLSessionTaskDidFinishCollectingMetricsBlock)block
    参数
    描述
    block
    请求完成数据统计回调

    setTaskDidReceiveResponseBlock

    设置接收响应结果回调 block
    - (void)setTaskDidReceiveResponseBlock:(nullable TQUICURLSessionTaskDidReceiveResponseBlock)block
    参数
    描述
    block
    接收到响应结果后的回调 block

    TQUICURLSessionTaskDidReceiveResponseBlock

    会话任务收到响应结果回调 block
    typedef void (^TQUICURLSessionTaskDidReceiveResponseBlock)(TQUICURLSession *session, TQUICURLSessionTask *task, NSURLResponse *response)
    参数
    描述
    session
    会话管理类
    task
    任务管理类
    response
    响应结果

    TQUICURLSessionTaskDownloadProgressBlock

    下载进度回调 block
    
    typedef void (^TQUICURLSessionTaskDownloadProgressBlock)(NSProgress *downloadProgress)
    参数
    描述
    downloadProgress
    下载进度

    TQUICURLSessionTaskUploadProgressBlock

    上传进度回调 block
    
    typedef void (^TQUICURLSessionTaskUploadProgressBlock)(NSProgress *uploadProgress)
    参数
    描述
    uploadProgress
    上传进度

    QUICURLSessionTaskCompletionHandler

    会话执行完成回调 block
    typedef void (^TQUICURLSessionTaskCompletionHandler)(NSURLResponse *response, id responseObject, NSError *error)
    参数
    描述
    response
    响应结果,参考系统 NSURLResponse
    responseObject
    响应数据
    error
    错误信息

    TQUICURLSessionTaskDidFinishCollectingMetricsBlock

    会话执行完成数据统计回调 block
    typedef void (^TQUICURLSessionTaskDidFinishCollectingMetricsBlock)(TQUICURLSession *session, TQUICURLSessionTask *task, TQUICURLSessionTaskMetrics * _Nullable metrics)
    参数
    描述
    session
    请求会话管理
    task
    请求任务管理
    metrics
    网络状态统计

    TQUICURLSessionConfiguration

    QUIC 请求参数配置
    成员变量
    描述
    quicVersion
    设置QUIC版本号 支持的版本:Q043、Q046、Q050、Q051、draft-29、RFC-V1(RFC 9000) 取值:
    TQUICVersionQ043 (默认值)
    TQUICVersion046
    TQUICVersion050
    TQUICVersion051
    TQUICVersionDraft29
    TQUICVersionRFCV1
    congestionType
    支持的拥塞算法(CubicBytes、RenoBytes,、BBR、PCC、GCC)
    取值:
    TQUICCongestionTypeBBR(默认值)
    TQUICCongestionTypeCubicBytes
    TQUICCongestionTypeRenoBytes
    TQUICCongestionTypePCC
    TQUICCongestionTypeGCC
    connectTimeoutMillis
    连接超时时间,单位:毫秒 默认值:60000
    idleTimeoutMillis
    空闲连接超时时间,影响连接复用,单位:毫秒 默认值:90000
    ipv6Enabled
    是否支持IPv6,可选 YES 或者 NO 默认值:NO
    dnsParser
    自定义 DNS 解析代理,参考:TQUICDNSParserDelegate

    TQUICDNSParserDelegate

    DNS 解析代理,可实现自定义 DNS 解析
    
    - (NSString *)lookup:(NSString *)hostName
    参数
    描述
    hostName
    域名,在请求过程中会回调域名,需要返回解析到的 IP 地址

    TQUICURLSession

    请求任务管理接口
    API
    描述
    根据配置创建实例
    根据默认配置创建实例,单例
    根据request参数创建请求任务

    sessionWithConfiguration

    根据配置创建实例
    + (instancetype)sessionWithConfiguration:(TQUICURLSessionConfiguration *)configuration
    参数
    描述
    configuration
    配置信息

    sharedSession

    根据默认配置创建实例,单例
    + (instancetype)sharedSession

    dataTaskWithRequest

    根据 request 参数创建请求任务
    - (nullable TQUICURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request
    参数
    描述
    request
    请求参数,参考系统 NSURLRequest

    TQUICURLSessionTask

    求任务管理接口
    API
    描述
    resume
    启动请求
    cancel
    取消请求

    resume

    开始请求
    
    - (void)resume

    cancel

    取消请求
    
    - (void)cancel

    TQUICURLSessionDataTask

    请求任务管理接口,扩展 TQUICURLSessionTask 协议
    API
    描述
    resume
    启动请求
    cancel
    取消请求

    resume

    开始请求
    
    - (void)resume

    cancel

    取消请求
    
    - (void)cancel

    TQUICURLRequestSerialization

    API
    描述
    http 请求参数序列化
    JSON 请求参数序列化

    TQUICHTTPRequestSerializer

    请求数据序列化接口
    API
    描述
    实例化
    setValue
    设置 Header 值
    根据 Header 字段返回对应的值
    创建 NSMutableURLRequest
    创建 NSMutableURLRequest,用于传输流式数据

    serializer

    构造 TQUICHTTPRequestSerializer 实例
    + (instancetype)serializer

    setValue

    设置 Header 值
    - (void)setValue:(nullable NSString *)value forHTTPHeaderField:(NSString *)field
    参数
    描述
    value
    Header 值
    field
    Header 字段

    valueForHTTPHeaderField

    根据 Header 字段返回对应的值
    - (nullable NSString *)valueForHTTPHeaderField:(NSString *)field
    参数
    描述
    field
    Header 字段

    requestWithMethod

    创建 NSMutableURLRequest
    - (nullable NSMutableURLRequest *)requestWithMethod:(NSString *)method
    
                                              URLString:(NSString *)URLString
    
                                             parameters:(nullable id)parameters
    
                                                  error:(NSError * _Nullable __autoreleasing *)error
    参数
    描述
    method
    设置请求方法,get、post、put、delete、head、patch 等 http 标准支持的方法
    URLString
    请求 Url
    parameters
    请求参数
    error
    错误信息,NSError

    multipartFormRequestWithMethod

    - (NSMutableURLRequest *)multipartFormRequestWithMethod:(NSString *)method
    
                                                  URLString:(NSString *)URLString
    
                                                 parameters:(nullable NSDictionary <NSString *, id> *)parameters
    
                                  constructingBodyWithBlock:(nullable void (^)(id <TQUICMultipartFormData> formData))block
    
                                                      error:(NSError * _Nullable __autoreleasing *)error
    参数
    描述
    method
    设置请求方法,get、post、put、delete、head、patch 等 http 标准支持的方法
    URLString
    请求 Url
    parameters
    请求参数
    constructingBodyWithBlock
    使用 Block 方式构建 body 内容
    error
    错误信息,NSError

    TQUICJSONRequestSerializer

    API
    描述
    创建实例

    serializerWithWritingOptions

    根据 JSON 序列化选项创建 TQUICJSONRequestSerializer 实例
    + (instancetype)serializerWithWritingOptions:(NSJSONWritingOptions)writingOptions
    参数
    描述
    writingOptions
    根据 JSON 序列化选项创建实例,参考系统 NSJSONWritingOptions

    TQUICMultipartFormData

    多分块表单数据上传
    API
    描述
    通过配置文件路径上传表单数据
    通过输入流上传表单数据
    分块上传表单数据
    添加数据分块
    把 Headers 和数据内容添加到表单
    上传带宽限制

    appendPartWithFileURL

    通过指定文件路径上传表单数据
    - (BOOL)appendPartWithFileURL:(NSURL *)fileURL
                             name:(NSString *)name
                            error:(NSError * _Nullable __autoreleasing *)error
    参数
    描述
    fileURL
    添加到表单的文件路径
    name
    关联文件名称
    error
    错误信息返回

    appendPartWithInputStream

    通过指定输入流上传数据
    - (void)appendPartWithInputStream:(nullable NSInputStream *)inputStream
                                 name:(NSString *)name
                             fileName:(NSString *)fileName
                               length:(int64_t)length
                             mimeType:(NSString *)mimeType
    参数
    描述
    inputStream
    输入流
    name
    关联输入流的名称
    fileName
    关联输入流文件名
    length
    流数据长度(单位 bytes )
    mimeType
    MIME Type(例如:image/jpeg,详细参考 HTTP 协议标准)

    appendPartWithFileData

    分块上传表单数据
    - (void)appendPartWithFileData:(NSData *)data
                              name:(NSString *)name
                          fileName:(NSString *)fileName
                          mimeType:(NSString *)mimeType
    参数
    描述
    data
    添加到表单的数据
    name
    关联数据的名称
    fileName
    关联数据文件名
    mimeType
    MIME Type(例如:image/jpeg,详细参考 HTTP 协议标准)

    appendPartWithFormData

    添加数据块
    - (void)appendPartWithFormData:(NSData *)data
                              name:(NSString *)name
    参数
    描述
    data
    添加到表单的数据
    name
    关联数据名称

    appendPartWithHeaders

    把 Headers 和数据内容添加到表单
    - (void)appendPartWithHeaders:(nullable NSDictionary <NSString *, NSString *> *)headers
                             body:(NSData *)body;
    参数
    描述
    headers
    要添加 headers 内容
    body
    添加到表单的数据

    throttleBandwidthWithPacketSize

    上传带宽限制
    - (void)throttleBandwidthWithPacketSize:(NSUInteger)numberOfBytes
                                      delay:(NSTimeInterval)delay
    参数
    描述
    numberOfBytes
    数据包最大值(单位:bytes,默认值:16kb)
    delay
    数据包读取时延(默认值:0)

    

    TQUICURLResponseSerialization

    响应数据序列化接口
    API
    描述
    http 响应数据序列化
    JSON 响应数据序列化

    TQUICHTTPResponseSerializer

    响应数据序列化接口
    API
    描述
    实例化
    检查响应数据是否合法

    serializer

    构造 TQUICHTTPResponseSerializer 实例
    + (instancetype)serializer

    validateResponse

    检查响应数据是否合法
    - (BOOL)validateResponse:(nullable NSHTTPURLResponse *)response
    
                        data:(nullable NSData *)data
    
                       error:(NSError * _Nullable __autoreleasing *)error
    参数
    描述
    response
    要校验的返回结果,详见:NSHTTPURLResponse
    data
    返回的数据
    error
    校验过程出错信息

    TQUICJSONResponseSerializer

    API
    描述
    创建实例

    serializerWithWritingOptions

    根据 JSON 序列化选项创建 TQUICJSONResponseSerializer 实例
    + (instancetype)serializerWithReadingOptions:(NSJSONReadingOptions)readingOptions
    参数
    描述
    serializerWithReadingOptions
    根据 JSON 序列化选项创建实例,参考系统 NSJSONReadingOptions

    TQUICURLSessionTaskMetrics

    QUIC 网络状态统计,一次会话统计
    属性
    描述
    transactionMetrics
    数组,由于有重定向,一次会话会包含多次请求,每次请求的统计内容见:TQUICURLSessionTaskTransactionMetrics
    taskInterval
    任务耗时,从任务创建到执行完成的时间间隔
    redirectCount
    重定向次数

    TQUICURLSessionTaskTransactionMetrics

    QUIC 网络状态统计,一次请求统计
    属性
    描述
    isValid
    状态值是否有效
    isQuic
    是否 QUIC 请求
    is0rtt
    是否为 0-RTT 连接
    isConnReuse
    是否为连接复用
    connectMillis
    获取连接耗时,单位:毫秒
    dnsMillis
    获取 dns 耗时,单位:毫秒
    dnsCode
    获取 dns 错误码
    ttfbMillis
    获取首包耗时,单位:毫秒
    completeMillis
    获取请求完成时间(不含连接耗时),单位:毫秒
    srttMicros
    获取滑动平均rtt,单位:毫秒
    packetsSent
    获取发包量,单位:byte
    packetsRetransmitted
    获取重传包量,单位:byte
    bytesSent
    获取发送字节数,单位:byte
    bytesRetransmitted
    获取重传字节数,单位:byte
    packetsLost
    获取丢包量,单位:byte
    packetsReceived
    获取收包量,单位:byte
    bytesReceived
    获取收到字节数,单位:byte
    streamBytesReceived
    获取stream层收到的字节数,单位:byte

    

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持