Beispiel #1
0
def listNamespaces(access_key,
                   secret_key,
                   offset=None,
                   line=10,
                   sortBy="desc:createdAt"):
    """
    获取空间列表
    https://developer.qiniu.com/qvs/api/6730/list-namespace
    :param access_key: 公钥
    :param secret_key: 私钥
    :param offset: 在全部namespace中的偏移量,时间戳
    :param line: 一次返回多少条
    :param sortBy: asc 表示升序, desc 表示降序, 默认按创建时间降序排列(可参与排序的字段有createdAt, updatedAt).asc:updatedAt表示更新时间从小到大排序, desc:updatedAt表示更新时间从大到小排序

    :return:
        200 { }
    """
    auth = QiniuMacAuth(access_key, secret_key)
    if offset is None:
        # 请求URL
        url = f"http://qvs.qiniuapi.com/v1/namespaces?line={line}&sortBy={sortBy}"
    else:
        url = f"http://qvs.qiniuapi.com/v1/namespaces?offset={offset}&line={line}&sortBy={sortBy}"
    # 发起POST请求
    ret, res = http._get_with_qiniu_mac(url, params=None, auth=auth)
    headers = {"code": res.status_code, "reqid": res.req_id, "xlog": res.x_log}

    # 格式化响应体
    Headers = json.dumps(headers, indent=4, ensure_ascii=False)
    result = json.dumps(ret, indent=4, ensure_ascii=False)
    return Headers, result
Beispiel #2
0
    def get_ssl_cert(self, cert_id: str = ''):
        url = 'https://api.qiniu.com/sslcert/{}'.format(cert_id)

        ret, info = http._get_with_qiniu_mac(url=url,
                                             params=None,
                                             auth=self._qiniu_mac_auth)
        return ret, info
def listNamespacesInfo(access_key, secret_key, templateId):
    """
    查询模板信息
    https://developer.qiniu.com/qvs/api/6724/template-information
    :param access_key: 公钥
    :param secret_key: 私钥
    :param templateId: 模板ID

    :return:
            {
                "code": 200
            }
    """
    auth = QiniuMacAuth(access_key, secret_key)

    # 请求URL
    url = f"http://qvs.qiniuapi.com/v1/templates/{templateId}"

    # 发起POST请求
    ret, res = http._get_with_qiniu_mac(url, params=None, auth=auth)
    headers = {"code": res.status_code, "reqid": res.req_id, "xlog": res.x_log}

    # 格式化响应体
    Headers = json.dumps(headers, indent=4, ensure_ascii=False)
    result = json.dumps(ret, indent=4, ensure_ascii=False)
    return Headers, result
def streamsInfo(access_key, secret_key, namespaceId, streamId):
    """
    查询流信息
    https://developer.qiniu.com/qvs/api/6736/query-information-flow
    :param access_key: 公钥
    :param secret_key: 私钥
    :param namespaceId: 空间ID
    :param streamId: 流名ID

    :return:
            {
                "code": 200
            }
    """
    auth = QiniuMacAuth(access_key, secret_key)

    # 请求URL
    url = f"http://qvs.qiniuapi.com/v1/namespaces/{namespaceId}/streams/{streamId}"

    # 发起GET请求
    ret, res = http._get_with_qiniu_mac(url, params=None, auth=auth)
    headers = {"code": res.status_code, "reqid": res.req_id, "xlog": res.x_log}

    # 格式化响应体
    Headers = json.dumps(headers, indent=4, ensure_ascii=False)
    result = json.dumps(ret, indent=4, ensure_ascii=False)
    return Headers, result
Beispiel #5
0
def streamsInfo(access_key, secret_key, hub, streamTitle):
    """
    查询流信息
    https://developer.qiniu.com/pili/api/2773/query-stream
    :param access_key: 公钥
    :param secret_key: 私钥
    :param hub: 直播空间
    :param streamTitle: 流名

    :return:
        200 {
            "createdAt": <CreatedAt>, // Unix Time
            "updatedAt": <UpdatedAt>, // Unix Time,更新流配置时会自动更新这个时间
            "expireAt": <ExpireAt>, // Unix Time,过期时间
            "converts": ["<Profile1>", "<Profile2>"], // 流的转码规格
            "disabledTill": <DisabledTill> // 禁用的结束时间,-1 表示永久禁用
        }
    """
    auth = QiniuMacAuth(access_key, secret_key)

    # 流名base64安全编码
    EncodedStreamTitle = urlsafe_base64_encode(streamTitle)

    # 请求URL
    url = f'http://pili.qiniuapi.com/v2/hubs/{hub}/streams/{EncodedStreamTitle}'

    # 发起GET请求
    ret, res = http._get_with_qiniu_mac(url=url, params=None, auth=auth)
    headers = {"code": res.status_code, "reqid": res.req_id, "xlog": res.x_log}

    # 格式化响应体
    Headers = json.dumps(headers, indent=4, ensure_ascii=False)
    result = json.dumps(ret, indent=4, ensure_ascii=False)

    return Headers, result
Beispiel #6
0
def listTemplates(access_key,
                  secret_key,
                  offset=None,
                  templateType=None,
                  match=None,
                  line=10,
                  sortBy="desc:createdAt"):
    """
    获取模板列表
    https://developer.qiniu.com/qvs/api/6725/list-template
    :param access_key: 公钥
    :param secret_key: 私钥
    :param offset: 非必填,在全部namespace中的偏移量,时间戳
    :param line: 非必填,一次返回多少条
    :param sortBy: 非必填,asc 表示升序, desc 表示降序, 默认按创建时间降序排列(可参与排序的字段有createdAt, updatedAt).asc:updatedAt表示更新时间从小到大排序, desc:updatedAt表示更新时间从大到小排序
    :param templateType: 非必填,模板类型,取值:0(录制模版), 1(截图模版)
    :param match: 非必填,模糊匹配查询(模版名称包含match串时返回)

    :return:
        200 { }
    """
    auth = QiniuMacAuth(access_key, secret_key)
    if offset is None and match is None and templateType is None:
        # 请求URL
        url = f"http://qvs.qiniuapi.com/v1/templates?line={line}&sortBy={sortBy}"
    else:
        url = f"http://qvs.qiniuapi.com/v1/templates?offset={offset}&line={line}&sortBy={sortBy}&templateType={templateType}&match={match}"
    # 发起POST请求
    ret, res = http._get_with_qiniu_mac(url, params=None, auth=auth)
    headers = {"code": res.status_code, "reqid": res.req_id, "xlog": res.x_log}

    # 格式化响应体
    Headers = json.dumps(headers, indent=4, ensure_ascii=False)
    result = json.dumps(ret, indent=4, ensure_ascii=False)
    return Headers, result
Beispiel #7
0
def historyactivity(access_key, secret_key, hub, streamTitle, startTime,
                    endTime):
    """
    直播历史查询
    https://developer.qiniu.com/pili/api/2778/live-history
    :param access_key: 公钥
    :param secret_key: 私钥
    :param hub: 直播空间
    :param streamTitle: 流名
    :param startTime: 整数,Unix 时间戳,起始时间,不指定或 0 值表示不限制起始时间。
    :param endTime: 整数,Unix 时间戳,结束时间,不指定或 0 值表示当前时间。

    :return:
            200
            {
                "items": [
                    {
                        "start": <Start>,
                        "end": <End>
                    },
                    ...
                ]
            }
    """
    auth = QiniuMacAuth(access_key, secret_key)

    # 流名base64安全编码
    EncodedStreamTitle = urlsafe_base64_encode(streamTitle)
    l = []

    # 日期转时间戳
    def time2timestamp(datetime):
        # 日期格式
        # datetime = '2020-06-08 00:00:00'
        # 转为时间数组
        timeArray = time.strptime(datetime, "%Y-%m-%d %H:%M:%S")
        timeStamp = int(time.mktime(timeArray))
        return timeStamp

    start = time2timestamp(startTime)

    end = time2timestamp(endTime)

    # 请求URL
    url = f'http://pili.qiniuapi.com/v2/hubs/{hub}/streams/{EncodedStreamTitle}/historyactivity?start={start}&end={end}'

    # 发起GET请求
    ret, res = http._get_with_qiniu_mac(url=url, params=None, auth=auth)

    # 格式化响应体
    result = ret["items"]
    for i in result:
        t = i["end"] - i["start"]
        l.append(t)

    return sum(l) / 60
Beispiel #8
0
def streamSnapshotss(access_key,
                     secret_key,
                     namespaceId,
                     streamId,
                     startDate,
                     endDate,
                     type,
                     line=30,
                     marker=None):
    """
    获取截图列表
    https://developer.qiniu.com/qvs/api/6749/list-stream-snapshots
    :param access_key: 公钥
    :param secret_key: 私钥
    :param namespaceId: 必填项,空间ID
    :param streamId: 必填项,流ID
    :param type: 必填项,1:实时截图对应的图片列表
    :param line: 非必填,限定返回截图的个数,只能输入1-100的整数,不指定默认返回30个
    :param startDate:  必填项,查询开始时间(unix时间戳,单位为秒)
    :param endDate: 必填项,查询结束时间(unix时间戳,单位为秒)
    :param marker: 非必填,上一次查询返回的标记,用于提示服务端从上一次查到的位置继续查询,不指定表示从头查询

    :return:
        200 { }
    """
    auth = QiniuMacAuth(access_key, secret_key)

    start = time2timestamp(startDate)

    end = time2timestamp(endDate)

    if marker is None:
        # 请求URL
        url = f"http://qvs.qiniuapi.com/v1/namespaces/{namespaceId}/streams/{streamId}/snapshots?type={type}&start={start}&end={end}&line={line}"
    else:
        url = f"http://qvs.qiniuapi.com/v1/namespaces/{namespaceId}/streams/{streamId}/snapshots?type={type}&start={end}&end={end}&line={line}&marker={marker}"
    # 发起POST请求
    ret, res = http._get_with_qiniu_mac(url, params=None, auth=auth)
    if res.text_body:
        result = json.loads(res.text_body)
        headers = {
            "code": result["code"],
            "reqid": res.req_id,
            "xlog": result["error"]
        }
    else:
        headers = {
            "code": res.text_body,
            "reqid": res.req_id,
            "xlog": res.x_log
        }

    # 格式化响应体
    Headers = json.dumps(headers, indent=4, ensure_ascii=False)
    result = json.dumps(ret, indent=4, ensure_ascii=False)
    return Headers, result
Beispiel #9
0
    def get_ssl_cert_list(self, marker: str = '', limit: int = 10):
        url = 'https://api.qiniu.com/sslcert?marker={}&limit={}'.format(
            marker, limit)
        # content_type = 'application/json'

        # headers = {'Content-Type': content_type}
        # ret, info = http._post_with_qiniu_mac_and_headers(url, data, self._qiniu_mac_auth, headers)
        ret, info = http._get_with_qiniu_mac(url,
                                             params=None,
                                             auth=self._qiniu_mac_auth)
        return ret, info
Beispiel #10
0
    def get_account_info(self):
        """获得当前账号的信息

        查看当前请求方(请求鉴权使用的 AccessKey 的属主)的账号信息。

        Returns:
            返回一个tuple对象,其格式为(<result>, <ResponseInfo>)
            - result          成功返回用户信息,失败返回None
            - ResponseInfo    请求的Response信息
        """

        url = '{0}/v3/info'.format(self.host)
        return http._get_with_qiniu_mac(url, None, self.auth)
Beispiel #11
0
    def list_apps(self):
        """获得当前账号的应用列表

        列出所属应用为当前请求方的应用列表。

        Returns:
            返回一个tuple对象,其格式为(<result>, <ResponseInfo>)
            - result          成功返回应用列表,失败返回None
            - ResponseInfo    请求的Response信息
        """

        url = '{0}/v3/apps'.format(self.host)
        return http._get_with_qiniu_mac(url, None, self.auth)
Beispiel #12
0
    def list_apps(self):
        """获得当前账号的应用列表

        列出所属应用为当前请求方的应用列表。

        Returns:
            返回一个tuple对象,其格式为(<result>, <ResponseInfo>)
            - result          成功返回应用列表,失败返回None
            - ResponseInfo    请求的Response信息
        """

        url = '{0}/v3/apps'.format(self.host)
        return http._get_with_qiniu_mac(url, None, self.auth)
Beispiel #13
0
    def list_regions(self):
        """获得账号可见的区域的信息

        列出当前用户所有可使用的区域。

        Returns:
            返回一个tuple对象,其格式为(<result>, <ResponseInfo>)
            - result          成功返回区域列表,失败返回None
            - ResponseInfo    请求的Response信息
        """

        url = '{0}/v3/regions'.format(self.host)
        return http._get_with_qiniu_mac(url, None, self.auth)
Beispiel #14
0
    def get_account_info(self):
        """获得当前账号的信息

        查看当前请求方(请求鉴权使用的 AccessKey 的属主)的账号信息。

        Returns:
            返回一个tuple对象,其格式为(<result>, <ResponseInfo>)
            - result          成功返回用户信息,失败返回None
            - ResponseInfo    请求的Response信息
        """

        url = '{0}/v3/info'.format(self.host)
        return http._get_with_qiniu_mac(url, None, self.auth)
Beispiel #15
0
    def list_regions(self):
        """获得账号可见的区域的信息

        列出当前用户所有可使用的区域。

        Returns:
            返回一个tuple对象,其格式为(<result>, <ResponseInfo>)
            - result          成功返回区域列表,失败返回None
            - ResponseInfo    请求的Response信息
        """

        url = '{0}/v3/regions'.format(self.host)
        return http._get_with_qiniu_mac(url, None, self.auth)
Beispiel #16
0
def streamSnapshotss(access_key, secret_key, namespaceId, streamId):
    """
    获取直播封面截图
    https://developer.qiniu.com/qvs/api/6814/the-cover-for-screenshots
    :param access_key: 公钥
    :param secret_key: 私钥
    :param namespaceId: 必填项,空间ID
    :param streamId: 必填项,流ID

    :return:
        200
            {
                "url": "http://prlghu509.test.bkt.clouddn.com/snapshot/jpg/2akrarrzns76w/t0.jpg?e=1588124787&token=Ves3WTXC8XnEHT0I_vacEQQz-9jrJZxNExcmarzQ:bH8s5m5N5Ugp2wo6ACRUVeIK280"
            }
    """
    auth = QiniuMacAuth(access_key, secret_key)

    # 请求URL
    url = f"http://qvs.qiniuapi.com/v1/namespaces/{namespaceId}/streams/{streamId}/cover"

    # 发起GET请求
    ret, res = http._get_with_qiniu_mac(url, params=None, auth=auth)
    result = json.loads(res.text_body)
    if res.status_code == 401:
        headers = {
            "code": res.status_code,
            "reqid": res.req_id,
            "error": result["error"]
        }
    elif res.status_code != 401 and res.text_body:
        headers = {
            "code": result["code"],
            "reqid": res.req_id,
            "xlog": result["error"]
        }
    else:
        headers = {
            "code": res.text_body,
            "reqid": res.req_id,
            "xlog": res.x_log
        }

    # 格式化响应体
    Headers = json.dumps(headers, indent=4, ensure_ascii=False)
    result = json.dumps(ret, indent=4, ensure_ascii=False)
    return Headers, result
Beispiel #17
0
    def get_app_keys(self, app_uri):
        """获得账号下应用的密钥

        列出指定应用的密钥,仅当访问者对指定应用有管理权限时有效:
            用户对创建的应用有管理权限。
            用户对使用的第三方应用没有管理权限,第三方应用的运维方有管理权限。

        Args:
            - app_uri: 应用的完整标识

        Returns:
            返回一个tuple对象,其格式为(<result>, <ResponseInfo>)
            - result          成功返回秘钥列表,失败返回None
            - ResponseInfo    请求的Response信息
        """

        url = '{0}/v3/apps/{1}/keys'.format(self.host, app_uri)
        return http._get_with_qiniu_mac(url, None, self.auth)
Beispiel #18
0
    def get_app_keys(self, app_uri):
        """获得账号下应用的密钥

        列出指定应用的密钥,仅当访问者对指定应用有管理权限时有效:
            用户对创建的应用有管理权限。
            用户对使用的第三方应用没有管理权限,第三方应用的运维方有管理权限。

        Args:
            - app_uri: 应用的完整标识

        Returns:
            返回一个tuple对象,其格式为(<result>, <ResponseInfo>)
            - result          成功返回秘钥列表,失败返回None
            - ResponseInfo    请求的Response信息
        """

        url = '{0}/v3/apps/{1}/keys'.format(self.host, app_uri)
        return http._get_with_qiniu_mac(url, None, self.auth)
Beispiel #19
0
def listOnlineStreamsInfo(access_key, secret_key, hub, streamTitle):
    """
    查询实时信息
    https://developer.qiniu.com/pili/api/2776/live-broadcast-of-real-time-information
    :param access_key: 公钥
    :param secret_key: 私钥
    :param hub: 直播空间
    :param streamTitle: 流名

    :return:
        200 {
                "startAt": <StartAt>,
                "clientIP": "<ClientIP>",
                "bps": <Bps>, // 当前码率
                "fps": {
                    "audio": <Audio>,
                    "video": <Video>,
                    "data": <Data>
                }
            }
        404 {
            "error": "stream not found"
            }
        619 {
            "error": "no live" // 流不在直播
            }
    """
    auth = QiniuMacAuth(access_key, secret_key)

    # 流名base64安全编码
    EncodedStreamTitle = urlsafe_base64_encode(streamTitle)

    # 请求URL
    url = f'http://pili.qiniuapi.com/v2/hubs/{hub}/streams/{EncodedStreamTitle}/live'

    # 发起GET请求
    ret, res = http._get_with_qiniu_mac(url=url, params=None, auth=auth)
    headers = {"code": res.status_code, "reqid": res.req_id, "xlog": res.x_log}

    # 格式化响应体
    Headers = json.dumps(headers, indent=4, ensure_ascii=False)
    result = json.dumps(ret, indent=4, ensure_ascii=False)
    return Headers, result
Beispiel #20
0
def recordHistories(access_key,
                    secret_key,
                    namespaceId,
                    streamId,
                    start,
                    end,
                    line=10,
                    marker=None):
    """
    查询录制记录
    https://developer.qiniu.com/qvs/api/6745/query-recordhistories
    :param access_key: 公钥
    :param secret_key: 私钥
    :param offset: 非必填,在全部namespace中的偏移量,时间戳
    :param line: 非必填,一次返回多少条
    :param sortBy: 非必填,asc 表示升序, desc 表示降序, 默认按创建时间降序排列(可参与排序的字段有createdAt, updatedAt).asc:updatedAt表示更新时间从小到大排序, desc:updatedAt表示更新时间从大到小排序
    :param templateType: 非必填,模板类型,取值:0(录制模版), 1(截图模版)
    :param match: 非必填,模糊匹配查询(模版名称包含match串时返回)

    :return:
        200 { }
    """
    auth = QiniuMacAuth(access_key, secret_key)

    start = time2timestamp(startDate)

    end = time2timestamp(endDate)

    if marker is None:
        # 请求URL
        url = f"http://qvs.qiniuapi.com/v1/namespaces/{namespaceId}/streams/{streamId}/recordhistories?start={start}&end={end}&line={line}"
    else:
        url = f"http://qvs.qiniuapi.com/v1/namespaces/{namespaceId}/streams/{streamId}/recordhistories?start={start}&end={end}&marker={marker}&line={line}"
    # 发起POST请求
    ret, res = http._get_with_qiniu_mac(url, params=None, auth=auth)
    headers = {"code": res.status_code, "reqid": res.req_id, "xlog": res.x_log}

    # 格式化响应体
    Headers = json.dumps(headers, indent=4, ensure_ascii=False)
    result = json.dumps(ret, indent=4, ensure_ascii=False)
    return Headers, result
def listNamespaces(access_key,
                   secret_key,
                   namespaceId,
                   streamId,
                   startDate,
                   endDate,
                   offset=None,
                   line=10):
    """
    获取推流记录
    https://developer.qiniu.com/qvs/api/6742/query-flow-records
    :param access_key: 公钥
    :param secret_key: 私钥
    :param offset: 非必填,在全部namespace中的偏移量,时间戳
    :param line: 非必填,一次返回多少条
    :param start: 必填,推流开始时间(unix timestamp in second)
    :param end: 必填,推流结束时间(unix timestamp in second)

    :return:
        200 { }
    """
    auth = QiniuMacAuth(access_key, secret_key)

    start = time2timestamp(startDate)

    end = time2timestamp(endDate)

    if offset is None:
        # 请求URL
        url = f"http://qvs.qiniuapi.com/v1/namespaces/{namespaceId}/streams/{streamId}/pubhistories?start={start}&end={end}&line={line}"
    else:
        url = f"http://qvs.qiniuapi.com/v1/namespaces?start={start}&end={end}&line={line}&offset={offset}"
    # 发起POST请求
    ret, res = http._get_with_qiniu_mac(url, params=None, auth=auth)
    headers = {"code": res.status_code, "reqid": res.req_id, "xlog": res.x_log}

    # 格式化响应体
    Headers = json.dumps(headers, indent=4, ensure_ascii=False)
    result = json.dumps(ret, indent=4, ensure_ascii=False)
    return Headers, result
def listStreams(access_key,
                secret_key,
                namespaceid,
                offset=None,
                line=10,
                qtype=0,
                prefix=None,
                sortBy="desc:createdAt"):
    """
    获取流列表
    https://developer.qiniu.com/qvs/api/6737/query-list-flow
    :param access_key: 公钥
    :param secret_key: 私钥
    :param namespaceid: 空间名称ID
    :param offset: 在全部namespace中的偏移量,时间戳
    :param line: 一次返回多少条
    :param qtype: 查询流类型, 0:全部,1:在线流,2:离线流
    :param prefix: 流ID 前缀,可以流ID 前缀进行检索查询
    :param sortBy: asc 表示升序, desc 表示降序, 默认按创建时间降序排列(可参与排序的字段有createdAt, updatedAt).asc:updatedAt表示更新时间从小到大排序, desc:updatedAt表示更新时间从大到小排序

    :return:
        200 { }
    """
    auth = QiniuMacAuth(access_key, secret_key)
    if offset is None and prefix is None:
        # 请求URL
        url = f"http://qvs.qiniuapi.com/v1/namespaces/{namespaceid}?line={line}&sortBy={sortBy}&qtype={qtype}"
    else:
        url = f"http://qvs.qiniuapi.com/v1/namespaces/{namespaceid}?offset={offset}&line={line}&qtype={qtype}&prefix={prefix}&sortBy={sortBy}"
    # 发起GET请求
    ret, res = http._get_with_qiniu_mac(url, params=None, auth=auth)
    headers = {"code": res.status_code, "reqid": res.req_id, "xlog": res.x_log}

    # 格式化响应体
    Headers = json.dumps(headers, indent=4, ensure_ascii=False)
    result = json.dumps(ret, indent=4, ensure_ascii=False)
    return Headers, result
Beispiel #23
0
 def __get(self, url, params=None):
     if params is None:
         return http._get_with_qiniu_mac(url, params, self.auth)
     else:
         return http._get(url, params, self.auth)
Beispiel #24
0
def get_app_info(appuri):
    if ACC_AUTH is None:
        return None
    url = '{0}/v3/apps/{1}'.format(APP_HOST, appuri)
    return http._get_with_qiniu_mac(url, None, ACC_AUTH)[0]
Beispiel #25
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import qiniu
from qiniu import QiniuMacAuth
from qiniu import http

access_key = '1oMhuZ5a7zjXSSMjM1KWQKGUpbCkEUw9yxYy1ENE'
secret_key = 'vnq9qhe_rrx4cBHUHOz0Mhz94ai5xAnYf_Pyunkj'

auth = QiniuMacAuth(access_key, secret_key)

url = 'http://ai.qiniuapi.com/v1/image/group'
data = {}
req = http._get_with_qiniu_mac(url, data, auth)
print(req[0])
Beispiel #26
0
 def __get(self, url, params):
     return http._get_with_qiniu_mac(url, params, self.auth)
Beispiel #27
0
def get_managed():
    if ACC_AUTH is None:
        return None
    url = '{0}/v3/managed'.format(APP_HOST)
    return http._get_with_qiniu_mac(url, None, ACC_AUTH)[0]
Beispiel #28
0
 def __get(self, url, params=None):
     return http._get_with_qiniu_mac(url, params, self.auth)
end = "20200323"

# 必填,时间粒度,支持 day;当天支持5min、hour、day
g = "hour"

# 存储区域:z0 华东;z1 华北;z2 华南;na0 北美;as0 东南亚;是条件请求参数
region = "z0"

# 值为size,表示流量 (Byte)
select = "size"

# 请求地址:
url = "http://api.qiniu.com/v6/space?begin={0}&end={1}&g={2}".format(
    begin, end, g)

ret, res = http._get_with_qiniu_mac(url=url, params=None, auth=auth)

headers = {"code": res.status_code, "reqid": res.req_id, "xlog": res.x_log}

print(json.dumps(headers, indent=4, ensure_ascii=False))
print(json.dumps(ret, indent=4, ensure_ascii=False))
"""2、标准存储当前文件量统计:https://developer.qiniu.com/kodo/api/3914/count"""

# AK、SK
access_key = "<access_key>"
secret_key = "<secret_key>"

auth = QiniuMacAuth(access_key, secret_key)

# 存储空间名称,是一个条件请求参数
bucket = "upload25"
Beispiel #30
0
 def __get(self, url):
     return http._get_with_qiniu_mac(url, None, self.auth)