oAuth & Douban

image

最近试用douban的API,douban使用oAuth 作为验证协议,oAuth 用途比较广泛,现成的.Net库并不多。

在初次调用的过程中,发现douban的API中存在较为严重的BUG。

传送地址的时候,例如请求的地址没有Encode

http://api.douban.com/people/@me

douban计算后返回的basestring中是如下结果,

Untitled-picture

@符号在douban的basestring变成了%2540
 

Untitled picture1
 

分析douban在处理@符号的时候,将其变成%40之后又对%40再Encode,变成了%2540!囧。

这样导致怎么签名数据都不会和douban的相符。

最终发现有这个BUG后将本地提交地址中的@Encode成%40搞定。