sina weibo c++ sdk 大概分析。
vs2010 link 老出错。所以就看了一下他的sdk.
代码大多是,宏,函数数组,和callback.
先从上层 看一下他怎么用:
load_wb_interface() //初始化接口
Wb_init_wb_struct() //初始结构
wb_interface.pfun_request_setopt() // 参数 类似 curl setopt()
wb_interface.pfun_request_start() //开始
unload_wb_interface() //卸载
struct t_wb_interface
{
fun_loWeibo_oauth_copy pfun_oauth_copy;
fun_loWeibo_request_create pfun_request_create;
fun_loWeibo_request_setopt pfun_request_setopt;
fun_loWeibo_request_start pfun_request_start;
fun_loWeibo_request_wait pfun_request_wait;
fun_loWeibo_request_stop pfun_request_stop;
fun_loWeibo_request_destroy pfun_request_destroy;
fun_loWeibo_get_url pfun_get_url;
};
这些会挂载到 WeiboU_VC90.dll 这里面的导出函数。
pwb_interface->pfun_oauth_copy = (fun_loWeibo_oauth_copy)::GETPROCADDRESS( pwb_interface->dll_ , "loWeibo_oauth_copy");
。。。。
。。。。
这就是用法。
接下来看怎么 设置参数,和发送数据。 他其实用了
低层 其实用了。curl 和 jsoncpp 开源的东西。
如果不想用的她的sdk 其实可以自己编译 curl+openssh+zlib , 不用它的封装。写点简单的应用
在低层上他封装了。 httpcurl,lohttp+ 等等在common 里。先不说。后面说。
在这之上还有warpper 分层。 sdk的分层还是不错的。
接下来说这个 设置参数和结构。
pfun_request_setopt
先crete 了 t_wb_Request 这个结构。
pfun_request_setopt
return vector_request_format_cb 这是个数组函数。
WEIBO_request_callback 这个宏他会根据不同参数,设置 request.
pfun_request_start 分为同步,异步。
loWeibo_request_start -》 Weibo_session_start -> Weibo_session_start
用了lohttp 其实就是封装了curl。然后获取response 等等。
这样一个请求就完了。
Wb_init_wb_struct 大概看一下 这个 设置一些callback
vector_init_callback 函数数组
WEIBO_struct_init_callback 宏
SET_struct_callback_object 宏
根据参数设置参数。
接下来看看common lohttp 跟curl 用法差不多。
lohttp::LOHttp* pHttp = lohttp::Http_createobject();
lohttp::Http_setopt();
lohttp::Http_start_asyn( pHttp );
lohttp::Http_wait( pHttp );
lohttp+ 封装了lohttp 封装了curl 在lohttpcurl 里封装的。
大概看了看,没怎么细看。要是能封装成com 就好了。有时间,我封装个简单的吧。
我觉的我的应用,没必要那么多东西,我自己用curl+jsoncpp 编译了。想这就够我用了。不用官方提供的sdk了。
另外 我用php做了个应用。 http://t.leju.com/love/ 分享给大家。
代码大多是,宏,函数数组,和callback.
先从上层 看一下他怎么用:
load_wb_interface() //初始化接口
Wb_init_wb_struct() //初始结构
wb_interface.pfun_request_setopt() // 参数 类似 curl setopt()
wb_interface.pfun_request_start() //开始
unload_wb_interface() //卸载
struct t_wb_interface
{
fun_loWeibo_oauth_copy pfun_oauth_copy;
fun_loWeibo_request_create pfun_request_create;
fun_loWeibo_request_setopt pfun_request_setopt;
fun_loWeibo_request_start pfun_request_start;
fun_loWeibo_request_wait pfun_request_wait;
fun_loWeibo_request_stop pfun_request_stop;
fun_loWeibo_request_destroy pfun_request_destroy;
fun_loWeibo_get_url pfun_get_url;
};
这些会挂载到 WeiboU_VC90.dll 这里面的导出函数。
pwb_interface->pfun_oauth_copy = (fun_loWeibo_oauth_copy)::GETPROCADDRESS( pwb_interface->dll_ , "loWeibo_oauth_copy");
。。。。
。。。。
这就是用法。
接下来看怎么 设置参数,和发送数据。 他其实用了
低层 其实用了。curl 和 jsoncpp 开源的东西。
如果不想用的她的sdk 其实可以自己编译 curl+openssh+zlib , 不用它的封装。写点简单的应用
在低层上他封装了。 httpcurl,lohttp+ 等等在common 里。先不说。后面说。
在这之上还有warpper 分层。 sdk的分层还是不错的。
接下来说这个 设置参数和结构。
pfun_request_setopt
先crete 了 t_wb_Request 这个结构。
pfun_request_setopt
return vector_request_format_cb 这是个数组函数。
WEIBO_request_callback 这个宏他会根据不同参数,设置 request.
pfun_request_start 分为同步,异步。
loWeibo_request_start -》 Weibo_session_start -> Weibo_session_start
用了lohttp 其实就是封装了curl。然后获取response 等等。
这样一个请求就完了。
Wb_init_wb_struct 大概看一下 这个 设置一些callback
vector_init_callback 函数数组
WEIBO_struct_init_callback 宏
SET_struct_callback_object 宏
根据参数设置参数。
接下来看看common lohttp 跟curl 用法差不多。
lohttp::LOHttp* pHttp = lohttp::Http_createobject();
lohttp::Http_setopt();
lohttp::Http_start_asyn( pHttp );
lohttp::Http_wait( pHttp );
lohttp+ 封装了lohttp 封装了curl 在lohttpcurl 里封装的。
大概看了看,没怎么细看。要是能封装成com 就好了。有时间,我封装个简单的吧。
我觉的我的应用,没必要那么多东西,我自己用curl+jsoncpp 编译了。想这就够我用了。不用官方提供的sdk了。
另外 我用php做了个应用。 http://t.leju.com/love/ 分享给大家。