贴图库是国内一款免费、高速、稳定、专业图片外链、专注图片云存储服务,相比于七牛云存储,使用门槛较低。
Faraday 是一个轻量灵活的 HTTP client.
一直想写个贴图库的ruby sdk出来,今天抽空看了下文档,比较简单,先整理了下通过几行ruby code实现上传图片到贴图库的思路。
开始之前,你可以先注册一个账号,登陆之后,可以在管理中心中找到自己的AccessKey和SecretKey,复制下来,后面我们用来生成操作签名(sign)。
上传图片接口调用地址:
http://up.tietuku.cn/
HTTP请求方式:Post
下面的代码跑在ruby-1.9.3-p392
上,我们先打开irb
, 引用需要用到的库
1.参数数组
2.将参数数组序列化为JSON格式(jsoncode)
3.对JSON编码的参数数组(jsoncode)进行URL安全的Base64编码,得到待签名字符串(encodedParam)
4.使用SecertKey对上一步生成的待签名字符串(encodedParam)计算HMAC-SHA1签名(sign)
5.对签名(sign)进行URL安全的Base64编码(encodedSign)
6.将AccessKey、encodedSign和encodedParam用:连接起来
7.请求上传图片接口,记录返回数据
更多阅读
Faraday: advanced HTTP requests made easy
Faraday: One HTTP Client to Rule Them All
Ruby Patterns: Webservice object
Oh My Faraday
Parallel HTTP Requests with Faraday and Typhoeus
HTTP Monkey an alternative to Faraday
Wrapping Your API In A Custom Ruby Gem
Common interface for Ruby’s HTTP clients
Testing Faraday clients for APIs in your Rails app
HTTP + Client Side Middleware Stack == Win
Qiniu Resource (Cloud) Storage SDK for Ruby