日期:2014-05-16  浏览次数:20765 次

搜狗云输入法移植到linux平台的想法

 在ubuntu9.04的时代,自带的输入法一直认为不够好用,看到了搜狗的云输入法,故产生了移植的想法。

通过chrome的inspect Element功能,我发现了搜狗、百度、QQ云输入法的接口。公布一下,供大家参考。

百度http://olime.baidu.com/py?py=bit&rn=0&pn=5

搜狗http://web.pinyin.sogou.com/api/py?key=938cdfe9e1e39f8dd5da428b1a6a69cb&query=bit

QQhttp://ime.qq.com/fcgi-bin/getword?key=f56b884eebd87625cb4f87fcf125b0db&cb=window.QQWebIME.callback238&q=y

写了一段百度的测试了一下,之后只用正则表达式就好了,因为后来看到google code上面有人开发了基于ibus的搜狗的云输入法,故决定停止开发吧。

  1. #include <stdio.h> 
  2. #include <stdlib.h> 
  3. #include <errno.h> 
  4. #include <string.h> 
  5. #include <netdb.h> 
  6. #include <unistd.h> 
  7. #include <fcntl.h> 
  8. #include <fcntl.h> 
  9. #include <sys/time.h> 
  10. #include <sys/types.h> 
  11. #include <netinet/in.h> 
  12. #include <sys/socket.h> 
  13. #include<iconv.h> 
  14. #define MaxRecvLen  255 
  15.  
  16. //定义网站结构 
  17. struct DOMAIN 
  18.     char url[255];      //完整网址 
  19.     char host[20];      //主机地址 
  20.     int  port;       //sock 联接的端口号 
  21. }; 
  22. typedef struct DOMAIN domain; 
  23.  
  24. //*********************gb2312toutf-8**************** 
  25. int gb2312toutf8(char *sourcebuf,size_t sourcelen,char *destbuf,size_t destlen) 
  26.     iconv_t cd; 
  27.     if( (cd = iconv_open("utf-8",