wangheng.org
HTTP/1.1 301 永久重定向 服务器:nginx 访问时间:2015年06月04日 09:18:12 类型:text/html; charset=UTF-8 Transfer-Encoding: chunked 连接:keep-alive 语言环境:PHP/5.3.28 动作:Cookie X-Pingback: http://wangheng.org/xmlrpc.php 目标网址:http://wangheng.org/ HTTP/1.1 200 OK 服务器:nginx 访问时间:2015年06月04日 09:18:12 类型:text/html; charset=UTF-8 Transfer-Encoding: chunked 连接:keep-alive 动作:Accept-Encoding 语言环境:PHP/5.3.28 动作:Accept-Encoding, Cookie 缓存控制:max-age=3,必须更新 WP-Super-Cache: Served supercache file from PHP Content-Encoding: gzip 网站编码:UTF-8
王恒's Blog Do one thing and do it well.首页技术探讨学习笔记文件分享About me订阅本博客kuaipan_uploader开发分享发表于 2015年 5月 27日 | 2 条评论 »102PS:将原来的一篇文章拆开了,上篇是安装使用讲解,这篇是开发过程讲解。以前使用dropbox的linux客户端备份VPS上的文件和数据,但是近来dorpbox在国内越来越难访问,加上dropbox本身的容量只有几G,于是有了自己动刀写一个网盘的客户端,首先想到的是百度网盘,2T的巨大容量肯定是够用了!没想到这个决定却是悲剧的开始,按照百度PCS的API文档写了半天,没想到PCS开通居然审核了一周多还不通过! 联系客服,没想到他们的PCS API已经不审核新的申请了!再次吐槽下,你不审核,申请的时候就不能给个提示么!!! 遂放弃!然后就想到了还是用金山快盘吧,前段时间刚被迅雷收购,速度方面应该是没有问题。找到金山快盘的官方开放平台,看了看文档似乎是…有点麻烦啊。不过本着有难度才有挑战的原则,还是开搞了。下面介绍下开发过程中遇到的一些问题。首先就是快盘的授权机制,本来是不太复杂,但是它的授权流程签名并不支持PLAINTEXT明文文本格式,只支持了一个HMAC-SHA1加密方式。为了处理这个签名倒是走了一些弯路。拿到授权token的过程可以总结为三歩走:获取未授权的临时 token;用户登陆并授权你的应用;根据临时 token换取真实的 access_token。图示如下:在每次请求中,下面几个参数是必须的NameRequiredType and LimitDescriptionoauth_consumer_keyYstring第1步的 consumer_keyoauth_signatureYstring本次请求的签名,生成方法请参考附录-签名生成算法oauth_timestampYint时间戳,正整数,和标准时间不超过5分钟oauth_nonceYstring[ 0-9A-Za-z_ ]随机字符串,长度小于32字节。每次请求请使用不同的nonceoauth_consumer_key可以在你创建应用的时候拿到,oauth_timestamp为标准的unix时间戳格式,oauth_nonce每次都生成一个随机数,这几个参数都非常好处理,主要就是oauth_signature这个费些周章。官方的OAuth签名生成讲的比较具体,其实获取签名的方式也非常简单:计算串基根据串基按HMAC-SHA1获取签名并使用bash64和url_encode 转码生成签名的时候,如果是申请request_token 那么HMAC_SHA1加密的key 就是你的consumer_secret+&,其他都是consumer_secret+&+oauth_token_secret!Linux shell中处理url_encode 没有太好的办法,我索性就写了一个函数用sed处理了,代码如下:#url encodefunction url_encode{url=$1echo -n $(echo -n "$url" | sed 's/\%/\%25/g'|sed 's/&/\%26/g' |sed 's/:/\%3A/g' |sed 's/\//\%2F/g'| sed 's/=/\%3D/g' |sed 's/ /\%20/g' |sed 's/@/\%40/g' |sed 's/+/\%2B/g' |sed 's/\*/\%2A/g')}拼接字符串基可归结为:请求方式&url_encode(请求URL)&(url_encode(参数1+参数2… ))使用bash获取签名处理方法如下:function get_signature{method=$1url=$2data=$3token_secret=$4baseUrl="$1&$(url_encode "$2")&$(url_encode "$3")"signature=$(echo -n $baseUrl | openssl dgst -sha1 -binary -hmac "$APP_CONSUMER_SECRET&$token_secret" |base64)echo -n $(url_encode $signature)}《阅读全文…》分类: Linux学习, 实用工具, 最近添加 作者: 王恒 2 条评论 » 标签:awk, kuaipan, Linux, sed, shell, tr, 快盘, 脚本linux版快盘上传下载脚本发表于 2015年 5月 13日 | 9 条评论 »772PS:将脚本的开发过程移动到了这里。想了解下开发步骤的可以参考~~ 安装使用此脚本适用于大部分bash环境,已经在cygwin,ubuntu14.04,debian,centos6,mac-osx等环境通过测试。1.依赖项使用此程序前请确认你的Linux或者Cygwin支持如下命令:curl sed awk basename date grep tr od openssl base642.配置如果你想使用自己的app_key你需要首先注册一个金山快盘账号,然后到这里地址创建一个你自己的应用并把得到的 consumer_key、consumer_secret填写到脚本相应位置。当然此步骤可以略过,你可以直接使用脚本中填写好的consumer_key、consumer_secret,我创建的应用名称all4fun.3.安装wget https://github.com/wujiwh/kuaipan_uploader/archive/master.zipunzip master.zipcd kuaipan_uploader-master#或者 :git clone https://github.com/wujiwh/kuaipan_uploader.gitcd kuaipan_uploader#上面两种方式选择一种即可#赋予脚本执行权限并执行chmod a+x kuaipan_uploader.sh./kuaipan_uploader.sh然后根据提示完成API的授权流程,得到授权Token。脚本会自动保存得到的授权信息到CONFIG_FILE 变量对应配置文件,默认为~/.kuaipan_upload.conf 4.使用说明KuaiPan Uploader v1.1.0wangheng - wujiwh@gmail.comUsage: /usr/bin/kuaipan COMMAND [PARAMETERS]...Commands:upload [local file]
© 2010 - 2020 网站综合信息查询 同IP网站查询 相关类似网站查询 网站备案查询网站地图 最新查询 最近更新 优秀网站 热门网站 全部网站 同IP查询 备案查询
2024-10-03 14:15, Process in 0.0055 second.