环境:centos7下,对客户端http请求进行解析,来获取有效键值(包括汉字)。
应用:有了它,服务器后台程序就可以获取前端请求的数据信息。
头文件
1 /* 这是一份关于从Http请求信息中提取键值的接口声明文件 */ 2 #ifndef _URIDecode_H_ 3 #define _URIDecode_H_ 4 #include "status.h" 5 /* 6 * 相关数据类型 7 */ 8 typedef unsigned char uChar; 9 10 /* 11 * 获取指定键的键值 12 * 13 * queryStr -- 请求信息的字符串 14 * keyName -- 指定的键名 15 * resultp -- (用指针)返回键值 16 * 返回值,如果操作成功返回OK;否则返回ERROR。 注意的是,键名不存在的话,键值返回NULL。 17 */ 18 STATUS 19 GetTheKeyValue(char const *queryStr, char const *keyName, uChar **resultp); 20 #endif
接口定义
1 /* 这是一份描述从Http请求信息中提取有效键值的接口定义文件 */ 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <string.h> 5 #include "URIDecode.h" 6 #include "status.h" 7 8 /* 9 * 内部接口 10 * 11 * 12 * 统计键值包含的字节数目。 13 * 14 * keyValue -- 指定的键值 15 * 返回值,返回统计的结果。 16 */ 17 static int 18 GetItsSize(char const *keyValue) 19 { 20 char const *p = NULL; 21 char ch; 22 int counter = 0; 23 24 if(keyValue == NULL) //检查参数是否有效 25 { 26 fprintf(stdout, "传递给函数GetItsSize的参数keyValue无效。 "); 27 return -1; 28 } 29 30 for(p = keyValue; (ch = *p) != '