热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php调用腾讯云通讯api,c#调用腾讯云API的实例

获取时间戳.netframework*DateTimedtTimeZone.CurrentTimeZone.ToLocalTime(newDateTime(1970,1,1));i

//获取时间戳 .net framework

/*DateTime dt = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));

int time = (int)(DateTime.Now - dt).TotalSeconds;

String Timestamp = time.ToString();*/

//.net core 获取时间戳

DateTime dt = new DateTime(1970, 1, 1,0, 0, 0, DateTimeKind.Utc);int time = (int)(DateTime.Now.AddHours(-8) -dt).TotalSeconds;

String Timestamp=time.ToString();//随机正整数,用于防止重放攻击

Random rd = newRandom();int rd_i =rd.Next();

String nonce=Convert.ToString(rd_i);//SecretId

String SecretId = "";//参数(用于编码)

String PostStr = string.Format("Action=DescribeLVBChannelList&Nonce={0}&Region=bj&SecretId={1}&Timestamp={2}", nonce, SecretId, Timestamp);//地址

String url = "https://live.api.qcloud.com/v2/index.php";//编码

UTF8Encoding enc = newUTF8Encoding();

String qm= "POSTlive.api.qcloud.com/v2/index.php" + "?" +PostStr;byte[] dataToHash =enc.GetBytes(qm);/*var sha1 = SHA1.Create();

var result = sha1.ComputeHash(dataToHash);*/HMACSHA1 hmac= newHMACSHA1()

{

Key= enc.GetBytes("")

};var result =hmac.ComputeHash(dataToHash);string Signature =Convert.ToBase64String(result);//完整参数

var completeUrl = string.Format("Action=DescribeLVBChannelList&Nonce={0}&Region=bj&SecretId={1}&Signature={2}&Timestamp={3}", nonce, SecretId, Signature, Timestamp);

HttpWebRequest request=(HttpWebRequest)WebRequest.Create(url);

request.Method= "POST";

request.ContentType= "application/x-www-form-urlencoded";

request.ProtocolVersion=HttpVersion.Version10;byte[] data =Encoding.UTF8.GetBytes(completeUrl);

request.ContentLength=data.Length;

Stream newStream=request.GetRequestStream();

newStream.Write(data,0, data.Length);

newStream.Close();

HttpWebResponse response= null;int httpStatus = 200;stringcontent;try{

response=(HttpWebResponse)request.GetResponse();

httpStatus= (int)response.StatusCode;

StreamReader reader= newStreamReader(response.GetResponseStream(), Encoding.UTF8);

content=reader.ReadToEnd();

}catch(WebException e)

{

response=(HttpWebResponse)e.Response;

httpStatus= (int)response.StatusCode;using (Stream errData =response.GetResponseStream())

{using (StreamReader reader = newStreamReader(errData))

{

content=reader.ReadToEnd();

}

}

}



推荐阅读
author-avatar
浪子烦恼猪_309
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有