类 CosXmlRequest

  • 直接已知子类:
    ObjectRequest

    public abstract class CosXmlRequest
    extends java.lang.Object

    COS请求基类

    • 字段概要

      字段 
      修饰符和类型 字段 说明
      protected java.lang.String bucket
      存储桶
      protected java.util.Set<java.lang.String> noSignHeaders
      不强制签名的header集合
      protected java.util.Set<java.lang.String> noSignParams
      不强制签名的params集合
      protected int priority  
      protected com.tencent.qcloud.core.common.QCloudTaskStateListener qCloudTaskStateListener
      任务状态监听器
      protected java.util.Map<java.lang.String,​java.lang.String> queryParameters
      url query集合
      protected java.lang.String region
      地域
      protected java.util.Map<java.lang.String,​java.util.List<java.lang.String>> requestHeaders
      请求http header集合
      protected java.lang.String requestURL
      请求URL
      protected com.tencent.qcloud.core.auth.QCloudSignSourceProvider signSourceProvider
      签名原料提供器
    • 方法概要

      所有方法 实例方法 抽象方法 具体方法 已过时的方法 
      修饰符和类型 方法 说明
      protected void addHeader​(java.lang.String key, java.lang.String value)
      添加请求http header
      void addNoSignHeader​(java.lang.String key)
      添加不强制签名的header键
      void addNoSignHeader​(java.util.Set<java.lang.String> keys)
      添加不强制签名的header键
      void addNoSignParams​(java.lang.String key)  
      void addQuery​(java.lang.String key, java.lang.String value)  
      void attachMetrics​(com.tencent.qcloud.core.http.HttpTaskMetrics metrics)
      设置请求性能参数捕获器
      void checkParameters()
      sdk 参数校验
      java.lang.String getBucket()
      获取存储桶名
      java.lang.String getClientTraceId()
      标记一次请求的客户端唯一标识,用于日志上报和本地日志记录
      com.tencent.qcloud.core.auth.QCloudCredentialProvider getCredentialProvider()  
      java.lang.String getHost()  
      com.tencent.qcloud.core.http.HttpTask getHttpTask()
      获取执行任务
      java.lang.String getKeyTime()  
      abstract java.lang.String getMethod()
      获取HTTP请求方法 RequestMethod
      com.tencent.qcloud.core.http.HttpTaskMetrics getMetrics()
      获取请求性能参数捕获器
      CosXmlRequest.RequestNetworkType getNetworkType()  
      java.util.Set<java.lang.String> getNoSignHeaders()
      获取不强制签名的header集合
      java.util.Set<java.lang.String> getNoSignParams()  
      abstract java.lang.String getPath​(CosXmlServiceConfig config)
      获取HTTP URL Path
      int getPriority()
      获取请求优先级
      java.lang.String getQueryEncodedString()  
      java.util.Map<java.lang.String,​java.lang.String> getQueryString()
      获取url query集合
      java.lang.String getRegion()
      获取地域
      com.tencent.qcloud.core.http.RequestBodySerializer getRequestBody()
      获取请求体
      java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getRequestHeaders()
      获取请求http header集合
      java.lang.String getRequestHost​(CosXmlServiceConfig config)
      获取请求host
      java.lang.String getRequestURL()
      获取请求URL
      com.tencent.qcloud.core.auth.QCloudSignSourceProvider getSignSourceProvider()
      获取签名原料提供器
      com.tencent.qcloud.core.auth.STSCredentialScope[] getSTSCredentialScope​(CosXmlServiceConfig config)
      获取STS范围限制信息
      int getWeight()
      获取请求的重量级
      boolean headersHasUnsafeNonAscii()
      header是否有不安全的非Ascii字符
      boolean isNeedMD5()
      针对有请求体的 PUT 和 POST 请求,此头部是必选项。
      boolean isSignInUrl()  
      boolean isSupportAccelerate()
      是否启用全球加速
      void isSupportAccelerate​(boolean isSupportAccelerate)
      是否启用全球加速
      void setClientTraceId​(java.lang.String clientTraceId)
      标记一次请求的客户端唯一标识,用于日志上报和本地日志记录
      void setCredential​(com.tencent.qcloud.core.auth.SessionQCloudCredentials credential)
      设置单次临时密钥
      void setCredentialProvider​(com.tencent.qcloud.core.auth.QCloudCredentialProvider credentialProvider)  
      void setHost​(java.lang.String host)
      业务层配置host
      void setNeedMD5​(boolean isNeedMD5)
      针对有请求体的 PUT 和 POST 请求,此头部是必选项。
      void setNetworkType​(CosXmlRequest.RequestNetworkType networkType)
      业务层配置网络类型:RequestNetworkType 选择quic的话需要先按照官网文档“弱网优化”中操作开启quic
      void setOnRequestWeightListener​(CosXmlRequest.OnRequestWeightListener onRequestWeightListener)
      设置获取请求重量级的监听接口
      void setQueryEncodedString​(java.lang.String queryParameterString)
      设置 query 字符串
      void setQueryParameters​(java.util.Map<java.lang.String,​java.lang.String> queryParameters)
      设置url query集合
      void setRegion​(java.lang.String region)
      设置地域
      void setRequestHeaders​(java.lang.String key, java.lang.String value)
      已过时。
      void setRequestHeaders​(java.lang.String key, java.lang.String value, boolean isUrlEncoder)
      添加请求http header
      void setRequestHeaders​(java.util.Map<java.lang.String,​java.util.List<java.lang.String>> headers)
      设置请求http header集合
      void setRequestURL​(java.lang.String requestURL)
      设置请求URL
      void setSign​(long signDuration)
      已过时。
      void setSign​(long startTime, long endTime)
      已过时。
      void setSign​(long startTime, long endTime, java.util.Set<java.lang.String> parameters, java.util.Set<java.lang.String> headers)
      已过时。
      void setSign​(long signDuration, java.util.Set<java.lang.String> parameters, java.util.Set<java.lang.String> headers)
      已过时。
      void setSign​(java.lang.String sign)
      设置签名Authorization
      void setSign​(java.lang.String sign, java.lang.String token)
      设置签名Authorization和token
      void setSignInUrl​(boolean signInUrl)  
      void setSignKeyTime​(int expired)
      设置签名有效期,单位为 s
      void setSignParamsAndHeaders​(java.util.Set<java.lang.String> parameters, java.util.Set<java.lang.String> headers)
      设置参与签名的参数字段和头部字段
      void setSignSourceProvider​(com.tencent.qcloud.core.auth.QCloudSignSourceProvider cosXmlSignSourceProvider)
      设置签名原料提供器
      void setTask​(com.tencent.qcloud.core.http.HttpTask httpTask)
      设置执行任务
      void setTaskStateListener​(com.tencent.qcloud.core.common.QCloudTaskStateListener qCloudTaskStateListener)
      设置任务状态监听器
      protected com.tencent.qcloud.core.http.RequestBodySerializer xmlBuilder()
      收拢xml解析
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 字段详细资料

      • queryParameters

        protected java.util.Map<java.lang.String,​java.lang.String> queryParameters
        url query集合
      • requestHeaders

        protected java.util.Map<java.lang.String,​java.util.List<java.lang.String>> requestHeaders
        请求http header集合
      • noSignHeaders

        protected java.util.Set<java.lang.String> noSignHeaders
        不强制签名的header集合
      • noSignParams

        protected java.util.Set<java.lang.String> noSignParams
        不强制签名的params集合
      • signSourceProvider

        protected com.tencent.qcloud.core.auth.QCloudSignSourceProvider signSourceProvider
        签名原料提供器
      • priority

        protected int priority
      • bucket

        protected java.lang.String bucket
        存储桶
      • requestURL

        protected java.lang.String requestURL
        请求URL
      • region

        protected java.lang.String region
        地域
      • qCloudTaskStateListener

        protected com.tencent.qcloud.core.common.QCloudTaskStateListener qCloudTaskStateListener
        任务状态监听器
    • 构造器详细资料

      • CosXmlRequest

        public CosXmlRequest()
    • 方法详细资料

      • setRequestURL

        public void setRequestURL​(java.lang.String requestURL)
        设置请求URL
        参数:
        requestURL - 请求URL
      • getRequestURL

        public java.lang.String getRequestURL()
        获取请求URL
        返回:
        请求URL
      • getMethod

        public abstract java.lang.String getMethod()
        获取HTTP请求方法 RequestMethod
        返回:
        HTTP请求方法
      • getPath

        public abstract java.lang.String getPath​(CosXmlServiceConfig config)
        获取HTTP URL Path
        参数:
        config - SDK服务配置
        返回:
        HTTP URL Path
      • getBucket

        public java.lang.String getBucket()
        获取存储桶名
        返回:
        存储桶名
      • setQueryParameters

        public void setQueryParameters​(java.util.Map<java.lang.String,​java.lang.String> queryParameters)
        设置url query集合
        参数:
        queryParameters - url query集合
      • addQuery

        public void addQuery​(java.lang.String key,
                             java.lang.String value)
      • setQueryEncodedString

        public void setQueryEncodedString​(java.lang.String queryParameterString)
        设置 query 字符串
        参数:
        queryParameterString -
      • setRequestHeaders

        public void setRequestHeaders​(java.util.Map<java.lang.String,​java.util.List<java.lang.String>> headers)
        设置请求http header集合
        参数:
        headers - 请求http header集合
      • addNoSignHeader

        public void addNoSignHeader​(java.lang.String key)
        添加不强制签名的header键
        参数:
        key - 不强制签名的header键
      • addNoSignHeader

        public void addNoSignHeader​(java.util.Set<java.lang.String> keys)
        添加不强制签名的header键
      • addNoSignParams

        public void addNoSignParams​(java.lang.String key)
      • getNoSignHeaders

        public java.util.Set<java.lang.String> getNoSignHeaders()
        获取不强制签名的header集合
        返回:
        不强制签名的header集合
      • getNoSignParams

        public java.util.Set<java.lang.String> getNoSignParams()
      • getQueryString

        public java.util.Map<java.lang.String,​java.lang.String> getQueryString()
        获取url query集合
        返回:
        url query集合
      • getQueryEncodedString

        public java.lang.String getQueryEncodedString()
      • getRequestHeaders

        public java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getRequestHeaders()
        获取请求http header集合
        返回:
        请求http header集合
      • xmlBuilder

        protected com.tencent.qcloud.core.http.RequestBodySerializer xmlBuilder()
                                                                         throws org.xmlpull.v1.XmlPullParserException,
                                                                                java.io.IOException,
                                                                                CosXmlClientException
        收拢xml解析
        抛出:
        org.xmlpull.v1.XmlPullParserException
        java.io.IOException
        CosXmlClientException
      • isNeedMD5

        public boolean isNeedMD5()
        针对有请求体的 PUT 和 POST 请求,此头部是必选项。 针对 GET、HEAD、DELETE 和 OPTIONS 请求,不能指定此头部。 RFC 1864中定义的请求体内容的16字节二进制 MD5 哈希值的 Base64 编码形式,用于完整性检查, 验证请求体在传输过程中是否发生变化,最终的取值长度应为24个字符,请注意在编写代码时使用正确的方法和参数,例如ZzD3iDJdrMAAb00lgLLeig==
      • setNeedMD5

        public void setNeedMD5​(boolean isNeedMD5)
        针对有请求体的 PUT 和 POST 请求,此头部是必选项。 针对 GET、HEAD、DELETE 和 OPTIONS 请求,不能指定此头部。 RFC 1864中定义的请求体内容的16字节二进制 MD5 哈希值的 Base64 编码形式,用于完整性检查, 验证请求体在传输过程中是否发生变化,最终的取值长度应为24个字符,请注意在编写代码时使用正确的方法和参数,例如ZzD3iDJdrMAAb00lgLLeig==
      • setTaskStateListener

        public void setTaskStateListener​(com.tencent.qcloud.core.common.QCloudTaskStateListener qCloudTaskStateListener)
        设置任务状态监听器
        参数:
        qCloudTaskStateListener - 任务状态监听器
      • getMetrics

        public com.tencent.qcloud.core.http.HttpTaskMetrics getMetrics()
        获取请求性能参数捕获器
        返回:
        请求性能参数捕获器
      • attachMetrics

        public void attachMetrics​(com.tencent.qcloud.core.http.HttpTaskMetrics metrics)
        设置请求性能参数捕获器
        参数:
        metrics - 请求性能参数捕获器
      • setSignInUrl

        public void setSignInUrl​(boolean signInUrl)
      • isSignInUrl

        public boolean isSignInUrl()
      • setRequestHeaders

        public void setRequestHeaders​(java.lang.String key,
                                      java.lang.String value,
                                      boolean isUrlEncoder)
                               throws CosXmlClientException
        添加请求http header
        参数:
        key - 键
        value - 值
        isUrlEncoder - 是否进行URL编码
        抛出:
        CosXmlClientException - 客户端异常
      • getKeyTime

        public java.lang.String getKeyTime()
      • setSignKeyTime

        public void setSignKeyTime​(int expired)
        设置签名有效期,单位为 s
        参数:
        expired -
      • addHeader

        protected void addHeader​(java.lang.String key,
                                 java.lang.String value)
        添加请求http header
        参数:
        key - 键
        value - 值
      • getRequestHost

        public java.lang.String getRequestHost​(CosXmlServiceConfig config)
        获取请求host
        参数:
        config - SDK服务配置
        返回:
        请求host
      • isSupportAccelerate

        public void isSupportAccelerate​(boolean isSupportAccelerate)
        是否启用全球加速
        参数:
        isSupportAccelerate - 是否启用全球加速
      • isSupportAccelerate

        public boolean isSupportAccelerate()
        是否启用全球加速
        返回:
        是否启用全球加速
      • setSign

        public void setSign​(java.lang.String sign)
        设置签名Authorization
        参数:
        sign - Authorization
      • setSign

        public void setSign​(java.lang.String sign,
                            java.lang.String token)
        设置签名Authorization和token
        参数:
        sign - Authorization
        token - token
      • getSignSourceProvider

        public com.tencent.qcloud.core.auth.QCloudSignSourceProvider getSignSourceProvider()
        获取签名原料提供器
        返回:
        签名原料提供器
      • setSignSourceProvider

        public void setSignSourceProvider​(com.tencent.qcloud.core.auth.QCloudSignSourceProvider cosXmlSignSourceProvider)
        设置签名原料提供器
        参数:
        cosXmlSignSourceProvider - 签名原料提供器
      • getSTSCredentialScope

        public com.tencent.qcloud.core.auth.STSCredentialScope[] getSTSCredentialScope​(CosXmlServiceConfig config)
        获取STS范围限制信息
        参数:
        config - SDK服务配置
        返回:
        STS范围限制信息
      • setSign

        @Deprecated
        public void setSign​(long signDuration)
        已过时。
        签名有效时间跟随密钥有效时间,无需设置,如果需要设置签名的参数字段和头部字段, 请调用 setSignParamsAndHeaders(Set, Set) 方法。
      • setSign

        @Deprecated
        public void setSign​(long startTime,
                            long endTime)
        已过时。
        签名有效时间跟随密钥有效时间,无需设置,如果需要设置签名的参数字段和头部字段, 请调用 setSignParamsAndHeaders(Set, Set) 方法。
      • setSign

        @Deprecated
        public void setSign​(long signDuration,
                            java.util.Set<java.lang.String> parameters,
                            java.util.Set<java.lang.String> headers)
        已过时。
        签名有效时间跟随密钥有效时间,无需设置,如果需要设置签名的参数字段和头部字段, 请调用 setSignParamsAndHeaders(Set, Set) 方法代替。
      • setSign

        @Deprecated
        public void setSign​(long startTime,
                            long endTime,
                            java.util.Set<java.lang.String> parameters,
                            java.util.Set<java.lang.String> headers)
        已过时。
        签名有效时间跟随密钥有效时间,无需设置,如果需要设置签名的参数字段和头部字段, 请调用 setSignParamsAndHeaders(Set, Set) 方法代替。
      • setSignParamsAndHeaders

        public void setSignParamsAndHeaders​(java.util.Set<java.lang.String> parameters,
                                            java.util.Set<java.lang.String> headers)
        设置参与签名的参数字段和头部字段
        参数:
        parameters - 参与签名的参数字段
        headers - 参与签名的头部字段
      • setRegion

        public void setRegion​(java.lang.String region)
        设置地域
        参数:
        region - 地域
      • getRegion

        public java.lang.String getRegion()
        获取地域
        返回:
        地域
      • setTask

        public void setTask​(com.tencent.qcloud.core.http.HttpTask httpTask)
        设置执行任务
        参数:
        httpTask - 执行任务
      • getHttpTask

        public com.tencent.qcloud.core.http.HttpTask getHttpTask()
        获取执行任务
        返回:
        执行任务
      • getPriority

        public int getPriority()
        获取请求优先级
      • getWeight

        public int getWeight()
        获取请求的重量级
        返回:
        请求的重量级
      • headersHasUnsafeNonAscii

        public boolean headersHasUnsafeNonAscii()
        header是否有不安全的非Ascii字符
        返回:
        header是否有不安全的非Ascii字符
      • setOnRequestWeightListener

        public void setOnRequestWeightListener​(CosXmlRequest.OnRequestWeightListener onRequestWeightListener)
        设置获取请求重量级的监听接口
        参数:
        onRequestWeightListener - 获取请求重量级的监听接口
      • setCredential

        public void setCredential​(com.tencent.qcloud.core.auth.SessionQCloudCredentials credential)
        设置单次临时密钥
        参数:
        credential - 单次临时密钥
      • setCredentialProvider

        public void setCredentialProvider​(com.tencent.qcloud.core.auth.QCloudCredentialProvider credentialProvider)
      • getCredentialProvider

        public com.tencent.qcloud.core.auth.QCloudCredentialProvider getCredentialProvider()
      • getClientTraceId

        public java.lang.String getClientTraceId()
        标记一次请求的客户端唯一标识,用于日志上报和本地日志记录
      • setClientTraceId

        public void setClientTraceId​(java.lang.String clientTraceId)
        标记一次请求的客户端唯一标识,用于日志上报和本地日志记录
      • setNetworkType

        public void setNetworkType​(CosXmlRequest.RequestNetworkType networkType)
        业务层配置网络类型:RequestNetworkType 选择quic的话需要先按照官网文档“弱网优化”中操作开启quic
      • getHost

        public java.lang.String getHost()
      • setHost

        public void setHost​(java.lang.String host)
        业务层配置host