bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

(一)CloudStack生成Signature調用API(C#)

一:前言

創新互聯公司專注為客戶提供全方位的互聯網綜合服務,包含不限于網站設計制作、成都網站建設、陸河網絡推廣、微信小程序開發、陸河網絡營銷、陸河企業策劃、陸河品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們大的嘉獎;創新互聯公司為所有大學生創業者提供陸河建站搭建服務,24小時服務熱線:18980820575,官方網址:vcdvsql.cn

擼主剛開始嘗試使用CloudStack API時; 查閱相關資料,網上基本是官方的一個版本。大多都是復制內容;沒有任何幫助。且擼主是在 .NET 的框架下操作;資料更少,目前經過學習摸索 系統基本處于穩定,故將前期遇到的問題整理一二,望能對大家有所幫助。

/***************該段-官話********************/

CloudStack API 也是基于 Web Service,可以使用任何一種支持 HTTP 調用的語言(例如 Java,PHP)編寫代碼。

調用代碼(caller)首先需要在管理服務器進行認證。目前 CloudStack 采用兩種認證方式:

Session 認證:通過 login API,獲得一個 JSESSIONID cookie 和一個 SESSIONKEY token。

API Key 認證。

/***************該段-官話********************/

二:擼主采用 API Key 進行認證:

1、生成Signature 之前,我們得先擁有[API Key] & [Security Key],該文主要記錄Signature 加密實現,如何生成這兩個Key 擼主 便不再贅述。

2、官方提供生成Signature 的語言是Perl:地址如下,可自行觀摩:

https://github.com/snumano/CloudStack-API/blob/master/generate-url.pl

3、進而擼主又找到了 Python 版本:地址如下:

https://github.com/jasonhancock/cloudstack-pythonclient/blob/master/CloudStack/BaseClient.py

4、當然也少不了Java 版本的:CloudStack 開源包里應該能找到,在此擼主分享一篇帖文:

http://blog.csdn.net/rishengcsdn/article/details/38387721

三:使用C# 生成 Signature,有了以上資料,寫起C# 版本的,自是得心應手,當然也有些許差異,幾個問題需要注意:

1、[ApiKey] & [SecretKey] 字符串較長,切勿出錯

2、參數加密時以小些形式

3、參數加密時,需要對其進行排序(以參數第一個字母為準)

4、加密前統一編碼:UTF8

5、加密方式為:HmacSha1

6、加密后信息確認編碼為: UTF8

7、組合字符串

四:代碼實現(僅供參考,測試代碼)

如:獲取云主機的狀態信息

參數信息:

調用地址:“http://*.*.*.*:**/client/api?”

API 名稱:“listVirtualMachines”

參 數:

details=stats 狀態

account=admin 操作人賬號

id=**** 虛擬主機編號

API KEY:“******************”

SecretKey: “****************”

///<summary>生成CloudStackSignature可執行Url ///生成CloudStack可執行Url ///</summary> ///<returns></returns> publicstringGetSignatureApiUrl() { /*調用CloudStackAPI生成Signature并組合完整URL *1、根據配置獲取參數 *2、有效性驗證 *3、參數信息排序 *4、統一編碼UTF-8 *5、使用HmacSha1編碼加密 *6、加密后內容再次轉UTF-8 *7、組合 */ varApiKey="*********************"; varSecretKey="******************"; //CloudStackAPI調用地址 varDeveloperServer="http://*.*.*.*:**/client/api?"; //ApiKey統一編碼 Encodingenc=newUTF8Encoding(); stringencodedApiKey=HttpUtility.UrlEncode(ApiKey,enc); stringencodedSecreKey=HttpUtility.UrlEncode(SecretKey,enc); //參數,傳遞過來 List<string>Args=newList<string>(); Args.Add("command="+Command) Args.Add("details=stats"); Args.Add("account=admin"); Args.Add("id=****"); //有效性驗證 //略 varoldparmsString=string.Join("&",Args); Args.Add("apikey="+ApiKey) //參數信息進行排序 Args=Args.OrderBy(o=>o).ToList(); //參數拼接 varparamsString=string.Join("&",Args); //對執行信息進行加密 stringsignature=newHashEncryptHelp().HmacSha1(encodedSecreKey,paramsString.Tolower()); //加密信息轉UTF-8 stringencodedSignature=HttpUtility.UrlEncode(signature,enc); //組合URL字符 stringurl=DeveloperServer+oldparmsString+"&apikey="+encodedApiKey+"&signature="+encodedSignature; returnurl; }

輸出:http://*.*.*.*:**/client/api?command=listVirtualMachines&details=stats&account=admin&id=****&apikey=****&signature=****

測試執行:成功.

分享名稱:(一)CloudStack生成Signature調用API(C#)
分享路徑:http://vcdvsql.cn/article8/cheeop.html

成都網站建設公司_創新互聯,為您提供網站維護商城網站網站收錄搜索引擎優化服務器托管品牌網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管