文档章节

无聊自己写了一个ucloud的SDK

jastme
 jastme
发布于 2017/05/22 15:43
字数 143
阅读 107
收藏 0
import hashlib,requests,urllib

class ucloud:

    def __init__(self,pub,priv,param):

        self.pub = pub
        self.priv = priv
        self.url = "http://api.ucloud.cn/?"
        self.param = param

    def format_param(self):

        param = self.param
        param = "&".join(k.replace("_",".") + "=" + str(param[k]) for k in sorted(param.keys()))
        return param

    def signature(self):

        param = self.param
        items = param.items()
        items.sort()
        params_data = ""
        for key, value in items:
            params_data = params_data + str(key) + str(value)
        param = params_data + self.priv
        sign = hashlib.sha1()
        sign.update(param)
        signature = sign.hexdigest()
        return signature

    def reuqest_url(self):
        url = self.url+self.format_param()+'&Signature='+self.signature()
        return url

    def request(self,url):
        r = requests.get(url)
        return r.json()

 

调用方式

from Ucloud import ucloud


PublicKey = "mypubkey"
SecurityKey = "myprikey"
param = {                                       #参数
    "Region" : "cn-bj1",
    "Action" : "GetProjectList",
    "PublicKey" : PublicKey
    }
    api = ucloud(PublicKey,SecurityKey,param)    #生成验签后的url地址
    result = api.request(api.reuqest_url())      #请求,返回json

 

© 著作权归作者所有

共有 人打赏支持
jastme
粉丝 35
博文 133
码字总数 61506
作品 0
成都
程序员
变色龙SDK

变色龙是UCloud针对手游开发者接入渠道而开发的一款开源工具。由于国内安卓渠道林林总总,绝大多数渠道都有自己的SDK,因此接入渠道是一个非常费工费时的体力活,基于此,UCloud开发了变色龙...

小编辑
2014/09/11
774
0
UCloud 已经不是 UCloud,而你大爷还是你大爷

引 距离我最早开始用 UCloud,已经过去了 3 年多了。如果算上知道 UCloud 那就更早了。像这样起步早期的云厂商,不得不说是非常艰辛的,特别是在那个 OpenStack 还是非常不成熟的年代,要么选...

dsh0416
2017/12/24
0
0
【开源访谈】肖丁:如何做最懂业务的基础架构研发

基础架构是对整个公司的基础库、基础软件、基础平台的架构与实现,为业务部门提供简单、方便、可靠、高效、可扩展的编程接口。基础架构的核心内容是什么?需要掌握什么技能?有怎样的特点?面...

凝小紫
2016/11/17
4.3K
5
从摩尔定律到人工智能,指数定律释放人类潜能

你学过指数吗?恐怕没几个人会对这个问题说 “No”。那么,你对指数式发展有什么样的认识?这个问题回答起来也许就没那么容易了。然而,指数式发展实实在在地就在我们身边、在我们手上发生。...

AI科技大本营
08/29
0
0
UCloud:云计算的四个真相,BAT之外仍有空间

“我每次出差经过机场,都有一种高大上的感觉——机场里各种云计算广告,不是智能大脑、奥林匹克、量子计算,就是企业赋能与生态。而回到公司,听到客户在抱怨的话就瞬间回到了人间:‘我们的...

云科技时代
05/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android WebView制作简易浏览器

最终效果 先创建一个WebView控件,其他的就是通过线性布局在上方加入网址输入框和两个按钮 <WebView android:id="@+id/act_webview_wv" android:layout_width="ma...

lanyu96
25分钟前
2
0
解决MacOS升级系统Sierra到Mojave后git报错

错误信息 升级MacOS Sierra到Mac Mojave后执行git命令报错: xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/......

阿dai
26分钟前
1
0
兄弟连区块链教程以太源码分析CMD深入分析(一)

cmd包分析 cmd下面总共有13个子包,除了util包之外,每个子包都有一个主函数,每个主函数的init方法中都定义了该主函数支持的命令,如 geth包下面的: func init() { // Initialize the...

兄弟连区块链入门教程
27分钟前
1
0
Titan Framework MongoDB深入理解1

在TitanFrameWork框架中,已经集成了MongoDB的各个功能,现在我们对框架内部的一些重要类进行分析与解读。 MongoDBConverter 在Titan框架中,比较重要的一个接口就是MongoDBConverter,它是作...

云季科技
32分钟前
1
0
SpringBoot集成Quartz

SpringBoot集成Quartz 什么是Quartz Quartz is a richly featured, open source job scheduling library that can be integrated within virtually any Java application - from the smalle......

Grittan
37分钟前
4
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部