发明名称 |
一种在嵌入式web服务器上实现语言自适应的方法 |
摘要 |
本发明提供一种在嵌入式web服务器上实现语言自适应的方法,是通过对mini-httpd源码进行修改,实现在嵌入式web服务器上实现语言自适应,和现有技术相比,具有在嵌入式web服务器使用灵活,配置简单,能自动判断客户端所使用浏览器的语言编码提供对应语言网页,使网页服务更加人性化。 |
申请公布号 |
CN101364985A |
申请公布日期 |
2009.02.11 |
申请号 |
CN200810157526.5 |
申请日期 |
2008.10.06 |
申请人 |
浪潮电子信息产业股份有限公司 |
发明人 |
田凯;梁智豪 |
分类号 |
H04L29/06(2006.01);G06F9/44(2006.01) |
主分类号 |
H04L29/06(2006.01) |
代理机构 |
济南信达专利事务所有限公司 |
代理人 |
姜明 |
主权项 |
1.一种在嵌入式web服务器上实现语言自适应的方法,其特征在于通过添加捕获mini-httpd参数的代码,对mini-httpd源码进行修改,实现在嵌入式web服务器上实现语言自适应,对mini-httpd源码的修改主要集中在文件mini_httpd.c,修改步骤如下:(a)添加变量accept_language00223:static char*authorization;00224:static size_tcontent_length;00225:static char*content_type;00226:static char*cookkie;00227:static char*host;00228:static time_t if_modifield_since;00229:static char*referer;00230:static char*useragent;00231:static char*accept_language;00232:00233:static char*remoteuser;00234:static char*authuser;00235:static char*authpw(b)初始化变量accept_language01166:dytes=-1;01167:re_hostname=(char*)0;01168:accept_lanruage=(char*)=0;01169:01170:authorizatin=(char*)=0;01171:content_type=(char*)=0;01172:content_length=1;01173:cookie=(char*)=0;01174:host=(char*)=0;01175:if_modified_since=(time_t)-1;01176:referer=“”;01177:useragent=“”;(c)提取浏览器的变量信息01257: else if(strncasecmp(l ine,“Accept-language:”,16)==0)01258: {01259: cp=&line[16];01260: cp+=strspn(cp,“/t);01261: accept_language=cp;01262: }01263:else if(strncasecmp(line,“Accept-language:”,16)==0)01264: {01265: cp=&line[13];01266: cp+=strspn(cp,“/”);01267: content_type=cp;01268: }(d)创建新的服务器环境变量并赋值02197: if(content_type!=(char*)0)02198: envp[envn++]=build_env(“CONTENT_TYPE=%s”,content_type);02199:02200:02201: if(content_type!=(char*)0)02202: envp[envn++]=build_env(“HTTP_ACCEPT_LANGUAGE= %s”,accept_language);02203:02204:重新编译,编写一个简单的php程序;如下< php Phpinfo(); >在web浏览器中看到$_SERVER[“HTTP_ACCEPT_LANGUAGE”]变量,其后面对应的就是浏览器的语言编码_SERVER[“HTTP_USER_AGENT] Mozilla/5.0(widows nt5.1:zh-CN:rv1.81.9)_SERVER[“HTTP_HOST] 10.123.11.51_SERVER[“ACCEPT_LANGUAGE”] Zh-cn,zh:q=0.5_SERVER[“AUTH_USER”] Root_SERVER[“AUTH_PW] 3333其中zh-cn,表示浏览器的语言为简体中文,相应的几种常用语言的浏览器语言编码对应如下:英文=>”iso-8859-1”繁体中文=>“big5”简体中文=>“zh-cn”日文=>“shift_jis”PHP通过判断客户端所使用浏览器的语言编码提供对应语言网页。 |
地址 |
250014山东省济南市历下区山大路224号 |