tencent cloud

文档反馈

最后更新时间:2023-06-29 11:20:56
    以下是 iOS 客户端创建 QUIC 请求代码示例,详细 API 说明可参考:iOS API 文档

    创建 Get 请求

    // Session配置
    TQUICURLSessionConfiguration *quicSessionConfiguration = [TQUICURLSessionConfiguration defaultConfiguration];
    // 拥塞控制算法
    quicSessionConfiguration.congestionType = TQUICCongestionTypeBBR;
    // 连接超时时间
    quicSessionConfiguration.connectTimeoutMillis = 6 * 1000;
    // 创建SessionManager,使用说明参考API文档
    TQUICHTTPSessionManager *quicSessionManager = [[TQUICHTTPSessionManager alloc] initWithSessionConfiguration:quicSessionConfiguration];
    //(可选)通过TQUICHTTPRequestSerializer/TQUICHTTPResponseSerializer配置序列化,使用说明参考API文档
    
    // 发起GET请求
    [quicSessionManager GET:@"url"
    parameters:nil
    headers:nil
    timeoutInterval:0
    downloadProgress:nil
    success:^(TQUICURLSessionTask * _Nonnull task, id _Nullable responseObject) {
    // 请求执行成功,获取响应数据
    // 获取 Headers,由于是 HTTP 协议,因此这里 response 可以强转为 NSHTTPURLResponse
    NSDictionary *headers = [(NSHTTPURLResponse *)task.response allHeaderFields];
    // 获取 Body
    id body = responseObject;
    } failure:^(TQUICURLSessionTask * _Nullable task, NSError * _Nonnull error) {
    // 请求执行失败,获取错误信息
    NSInteger errorCode = error.code;
    }];

    创建 Post 请求

    // Session配置
    TQUICURLSessionConfiguration *quicSessionConfiguration = [TQUICURLSessionConfiguration defaultConfiguration];
    // 拥塞控制算法
    quicSessionConfiguration.congestionType = TQUICCongestionTypeBBR;
    // 连接超时时间
    quicSessionConfiguration.connectTimeoutMillis = 6 * 1000;
    // 创建SessionManager,使用说明参考API文档
    TQUICHTTPSessionManager *quicSessionManager = [[TQUICHTTPSessionManager alloc] initWithSessionConfiguration:quicSessionConfiguration];
    //(可选)通过TQUICHTTPRequestSerializer/TQUICHTTPResponseSerializer配置序列化,使用说明参考API文档
    
    //构造body数据
    NSData *bodyData;
    //发起Post请求
    [quicSessionManager POST:@"url"
    body:bodyData
    headers:nil
    timeoutInterval:timeInterval
    uploadProgress:^(NSProgress * _Nonnull uploadProgress) {
            
        } success:^(TQUICURLSessionTask * _Nonnull task, id  _Nullable responseObject) {
    // 请求执行成功,获取响应数据
    // 获取 Body
    id body = responseObject;
    
        } failure:^(TQUICURLSessionTask * _Nullable task, NSError * _Nonnull error) {
    // 请求执行失败,获取错误信息
    NSInteger errorCode = error.code;
    }];

    取消请求

    // 创建SessionManager
    
    ...
    //使用SessionDataTask发起请求,使用说明见API文档
    TQUICURLSessionDataTask *dataTask =
    [quicSessionManager dataTaskWithRequest:request
                       uploadProgress:nil
                           downloadProgress:nil
                      completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
    
    //请求完成回调
    
    }];
    
    //发起请求
    [dataTask resume];
    
    //取消请求
    [dataTask cancel];
    
    联系我们

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

    技术支持

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

    7x24 电话支持