本发明专利技术提供一种在嵌入式web服务器上实现语言自适应的方法,是通过对mini-httpd源码进行修改,实现在嵌入式web服务器上实现语言自适应,和现有技术相比,具有在嵌入式web服务器使用灵活,配置简单,能自动判断客户端所使用浏览器的语言编码提供对应语言网页,使网页服务更加人性化。
【技术实现步骤摘要】
本专利技术涉及一种计算机服务器技术,具体地说是一种在嵌入式web服务器上 实现语言自适应的方法。2
技术介绍
浏览器会把自己支持的语言通过HTTP请求头上传给Web服务器供参考,但 服务器一般都忽略HTTP请求头的Acc印t-Language参数,如果能使web服务器得 到这个请求头字段,就可以通过PHP或者其他一些语言编程读取这个字段,并能够 根据Acc印t-Language提供相应语言的网页。3
技术实现思路
本专利技术的目的是提供。 本专利技术的目的是按以下方式实现的,目前嵌入式web服务器用的较多的是 mini-httpd,优点是体积小,灵活,配置简单。最新的发行版本1.19,它默认是对 Acc印t-Language做丢弃处理的,通过添加捕获此参数的代码,对 mini—httpd源 码进行修改,实现在嵌入式web服务器上实现语言自适应。 具体实施例方式在本专利技术的中,对 mini-httpd源码的修改主要集中在文件mini—httpd. c,具体修改步骤如下 (a) 添力口变量accept—language00223: static char*authorization;00224: static size_t content—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: 002330023400235static char* remoteuser; static char氺authuser; static char氺authpw(b)初始化变量 accept—language01166:dytes=_l;01167:re一hostname二(char氺)0;01168:accept—lanruage =(char氺)=0;01169:01170:authorizatin二 (char氺)二O;01171:content—type二 (char的=0;01172:content—length二l;01173:cookie =(chax承)=0;01174:host= (char氺)二O;01175:if—modified—since=(time—t)01176:referer=",,;01177:useragent=",,;(c) 提取浏览器的变量信息01257: else if (strncasecmp(line, "Accept-language: " ,16)==0)01258: 01259: 01260: 01261: 01262: 01263: 01264: 01265: 01266: 01267: 01268:(d) 创建新的服务器环境变量并赋值 02197: if (content_type! = (char*)0)02198: envp 二build—env( "C0NTENT_TYPE= %s" , content—type);cp=&line;cp+ = strspn(cp, 《
);accept—language=cp;else if (strncasecmp(line, "Accept-language: ,, , 16) ==0)cp=&line;cp+ = strspn(cp, "/,,);content—type二cp;0219902200022010220202203: 02204::f (content—type! = (char氺)0)envp =build_env( "HTTP—ACCEPT—LANGUAGE= %s,, , accept—language);通过编写一个简单的php程序;如下 〈?phpPhpinfo();7〉在web浏览器中看到$—SERVER —SERVER —SERVER —SERVER'HTTP—ACCEPT_LANGUAGE"]变量,其后面对Mozilla/5. 0(widows nt 5. 1:zh-CN:rvl. 81. 9) 10. 123. 11. 51 Zh-cn, zh:q=0. 5 Root 3333表中的zh-cn,表示浏览器的语言为简体中文,相应的几种常用语言的浏览器语言 编码对应如下英文=>"iso-8859-1"繁体中文=> "big5"简体中文二> "zh-cn"日文二〉 "shift—jis"这样PHP就可以通过判断客户端所使用浏览器的语言编码提供对应语言网页了。权利要求1.,其特征在于通过添加捕获mini-httpd参数的代码,对mini-httpd源码进行修改,实现在嵌入式web服务器上实现语言自适应,对mini-httpd源码的修改主要集中在文件mini_httpd.c,修改步骤如下(a)添加变量accept_language00223static char*authorization;00224static size_t content_length;00225static char*content_type;00226static char*cookkie;00227static char*host;00228static time_t if_modifield_since;00229static char*referer;00230static char*useragent;00231static char*accept_language;0023200233static char*remoteuser;00234static char*authuser;00235static char*authpw(b)初始化变量accept_language01166dytes=-1;01167 re_hostname=(char*)0;01168 accept_lanruage=(char*)=0;0116901170 authorizatin=(char*)=0;01171 content_type=(char*)=0;01172 content_length=1;01173 cookie=(char*)=0;01174host=(char*)=0;01 175 if_modified_since=(time_t)-1;011 76 referer=“”;01177 useragent=“”;(c)提取浏览器的变量信息01257else if(strncasecmp(line,“Accept-language”,16)==0)01258{01259cp=&1ine;01260cp+=strspn(cp,“
);01261accept_language=cp;01262}01263 else if(strncase本文档来自技高网...
【技术保护点】
一种在嵌入式web服务器上实现语言自适应的方法,其特征在于通过添加捕获mini-httpd参数的代码,对mini-httpd源码进行修改,实现在嵌入式web服务器上实现语言自适应,对mini-httpd源码的修改主要集中在文件mini_httpd.c,修改步骤如下: (a)添加变量accept_language 00223:static char* authorization; 00224:static size_t content_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_language 01166: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(line,“Accept-language:”,16)==0) 01258:{ 01259:cp=&line[16]; 01260:cp+=strspn(cp,“\t); 01261:accept_language=cp; 01262:} 01263:else...
【技术特征摘要】
【专利技术属性】
技术研发人员:田凯,梁智豪,
申请(专利权)人:浪潮电子信息产业股份有限公司,
类型:发明
国别省市:88[中国|济南]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。