因前几日见园子里有人说可以把网站静态文件放在百度上,于是去百度开放平台看了看,发现之前那篇文章不是调的云存储接口啊。。。
于是自己写了个C#能调百度云存储的例子(百度云开放平台只提供php、java、Python、c++),下面贴一下步骤和代码,还请多多指点啊!
一、libcurl.NET

百度提供的四种途径我们选择的是curl方式,但是大家都知道curl需要linux环境支持,这里引用了国外的libcurl.NET开源项目。下载最新版本的libcurlnet-1_3.zip,解压后将这(ca-bundle.crt、libcurl.dll、LibCurlNet.dll、LibCurlShim.dll)四个文件放在你自己项目的bin目录下。

然后项目里添加LibCurlNet.dll引用。
二、签名算法
百度的URL签名算法说是用的sha1加密,千万别理解错!这里我是从php的hash_hmac算法转的,代码如下:
1 /// <summary> 2 /// hmacSha1算法加密 3 /// </summary> 4 /// <param name="encryptText">加密明文</param> 5 /// <param name="encryptKey">加密密钥</param> 6 /// <returns></returns> 7 public static string hmacSha1(string encryptText, string encryptKey) 8 { 9 HMACSHA1 myHMACSHA1 = new HMACSHA1(Encoding.Default.GetBytes(encryptKey)); 10 byte[] RstRes = myHMACSHA1.ComputeHash(Encoding.Default.GetBytes(encryptText)); 11 return Convert.ToBase64String(RstRes); 12 }
三、实现curl上传
其实就是要将下面这段命

本文介绍了如何使用C#调用百度云存储接口进行文件上传,主要涉及libcurl.NET库的引用、签名算法的实现及C#代码示例。作者通过将PHP的hash_hmac算法转换为C#,完成了URL签名,并提供了curl命令的C#翻译。
最低0.47元/天 解锁文章
674

被折叠的 条评论
为什么被折叠?



