`
SavageGarden
  • 浏览: 215645 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用HttpClient实现同步RTX

    博客分类:
  • Java
阅读更多
    持续加班,到现在都还没有缓过劲来,每天下班回来基本上就已经困的不行了,好不容易休息了下,好像又有点缓过来了,继续写。
    遇到了和RTX同步的问题,没想到腾讯还出了这么个东西,呵呵,打技术支持电话时人家说不可能在无偿的情况下提供太多的服务,稍微用了下,再想想那个支持的话,不免觉得有点好笑。
    RTX下给提供了个添加用户到部门的CGI,也不知道是我的机器有问题还是怎么回事,在我机器上横竖不好使,偶尔重启下机器又可以用了,真的是有点莫名其妙了。可能在你对一个事物没有足够的了解之前,总是会有这样或那样的莫名其妙的事情发生,非得到对它了如指掌的时候,再遇到什么问题,就可以说:恩?不可能!绝对不可能!但是我还没有到那个阶段,所以我的反映是:我靠,还真他妈邪了蛋了,这到底是怎么回事呢?
研究了研究终于有了点苗头,莫名其妙的事情也不怎么出了,不会说非要重启机器才会好使,但是它是怎么消失的呢?我还是有点莫名其妙。
    根据它提够的CGI,可以实现同步用户和部门,关键是怎么调用它给提供的接口,这里有apache出的HttpClient,来模拟get和post请求。上网搜了下,功能还真的是比较强大,这样的编程工具包都能想的出来,apache还真不愧为apache啊,而它还只是Jakarta Common的子项目,由此可见顶级项目有多厉害了。
    写下的我的实现过程。
    首先实例化一个HttpClient
HttpClient client = new HttpClient();						
client.getHostConfiguration().setHost(serverIP, serverPORT, serverAgreement);

    然后实例化POST要提交的参数
NameValuePair param1 = new NameValuePair(parameterName1, parameterValue1);
NameValuePair param2 = new NameValuePair(parameterName2, parameterValue2);
NameValuePair param3 = new NameValuePair(parameterName3, parameterValue3);
……
NameValuePair[] array = new NameValuePair[]{param1, param2, param3};

    然后实例化POST方法
PostMethod method = new PostMethod("/AddUserToDepts.cgi");
method.setRequestBody(array);

    然后执行此方法
client.executeMethod(method);

    剩下的事就是自己去写cgi了,腾讯提供的AddUserToDepts.cgi倒是个很好的参照,仿照着它很容易的就可以实现对部门对用户的同步,当然还可以用别的方法,他们官网上有技术白皮书,看看就会了。
    有了这个工具包,HTTP协议客户端的编程工作就好搞多了,好多功能都已经写好了,类库的功能实在是太强大,突然间就想到,一个程序员的意义,是会使用别人开发好的类库快速开发呢,还是给别人开发类库方便大家的使用呢?
    或许这是两个阶段,亦或者,这是两种境界。
分享到:
评论
1 楼 andy1015 2014-12-17  
请教下楼主rtx问题 ,可以么

相关推荐

Global site tag (gtag.js) - Google Analytics