近一段项目想用sso,解决方案想到了ucenter,现成的东西拿来就可以用,何乐而不为,因为自身业务系统有java,有php,有.net。急寻java的api,于是在网上找到了discuz-ucenter-api-for-java,下下来试用了一下,确实不错,但中文完全不支持……然后查看源码,一看就知道作者是纯php程序员……php好像对编码格式的处理不是很规范。看到很多网友也反映这个问题,带着问题,一步步debug,调用自带的Jsp_demo.jsp,发现每次打出来的用户名后面都有个]>,瞬间想到了是不是xml解析的时候有误,于是把result打出来,果不其然,因为调用ucenter接口返回的xml是iso-8859-1的预编码,作者用jdk自带的dom解析把中文解析出一串乱码,其中把cdata的结束符]>也带进去了,找到原因了就动手。
1、传值,登录是调用uc.uc_user_login("username", "password");这个方法最终post到ucenter还用了uriencode,可以打开PHPFunctions.java,就第一个方法23行,直接改成:
protected String urlencode(String value){ String str = null; try { str = URLEncoder.encode(value,"UTF-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } return str; }
2、返回值字符串解析编码,作者用的把InputStreamReader,很显然没有作编码处理,打开Client.java,找到uc_fopen方法,第344行,改成:
BufferedReader reader = new BufferedReader(new InputStreamReader(ins,"UTF-8"));
这里两步我的编码是UTF-8,请根据自己的需要改成自己对应的编码格式。一般要么是UTF-8,要么是GBK
相关推荐
Comsenz(康盛)的 UCenter 当前在国内的单点登录领域占据绝对份额,其完整的产品线令 UCenter 成为了账号集成方面事实上的标准。基于 UCenter,可以将 Comsenz 旗下的 Discuz!(社区论坛系统)、SupeSite(门户CMS...
discuz-ucenter-api-for-java Automatically exported from code.google.com/p/discuz-ucenter-api-for-java 官方技术QQ交流群:200802554 本项目友情赞助: 本项目提供完全免费的JAVA版Discuz Ucenter API,可以...
discuz-ucenter_api_for_java(内附测试项目).rar,测试项目为discuz压缩包,把里面加压后, 1.导入到你的eclipse里面, 2.把论坛的密钥什么的直接配置在discuz的config.properties中, 3.修改test.java里面的登陆注册...
discuz-ucenter-api-for-java 最完美的Discuz UCenter的JAVA API接口,简单易用,完全免费! 相关博文: 社区论坛: 说明 此项目移植自 / ,感谢原作者将他的代码开源。 由于原有项目已经非常古老了,看时间应该是...
discuz-ucenter-api-for-java discuz 单点登录 ucenter http://knight-black-bob.iteye.com/blog/2378199
ucenter discuz Java api接口ucenter discuz Java api接口ucenter discuz Java api接口ucenter discuz Java api接口ucenter discuz Java api接口
ucenter discuz Java api
JAVA_UCenter /discuz-ucenter-api-for-java
长期以来,JAVA开发人员一直找不到好的社区系统,而现在广泛使用的PHP论坛又不能同时使用。... Ucenter的基本API接口, 你可以在此基础上集成你的应用。 以发布好的JAR文件,可以直接放到你的lib目录下
discuz_ucenter java版的api 含详细用法,并且已解决中文名字注册乱码的问题
qq农场项目包。
长期以来,JAVA开发人员一直找不到好的社区系统,而现在广泛使用的PHP论坛又不能同时使用。 本项目提供了JAVA和Discuz! Ucenter的基本API接口, 你可以在此基础上集成你的应用。
长期以来,JAVA开发人员一直找不到好的社区系统,而现在广泛使用的PHP论坛又不能同时使用。 本项目提供了JAVA和Discuz! Ucenter的基本API接口, 你可以在此基础上集成你的应用。
2、java下有一个UCenter的API,可以较方便的在Java环境下调用UCenter接口,地址是 http://code.google.com/p/discuz-ucenter-api-for-java/,创始人是ping.china。 Snow_Young也有重新开发一个API的想法,以更符合...
For i = 0 To UBound(aryData) aryT = Split(aryData(i), "=") If UBound(aryT) > 0 Then objData.add aryT(0), aryT(1) Else objData.add aryT(0), "" End If Next Set parse_str = objData Set objData ...
Discuz! Ucenter API for JAVA jar包和测试代码-附件资源
商业编程-源码-UCenter Home医生插件 v1.0.zip
UCenter/UCenter Home/Discuz! 集成安装包 本集成包集成了以下Comsenz正式版产品: UCenter 1.5 (用户中心) UCenter Home 2.0 (个人空间) Discuz! 7.2 (论坛) 通过本集成安装包,您可以立即全新安装上述...
这是ASP版UCenter的API接口代码。