cgi.h

来自「Oracle调用接口」· C头文件 代码 · 共 84 行

H
84
字号
#ifndef __CGI_H_#define __CGI_H_#include <stdlib.h>#include <string.h>#include <stdio.h>// C++ includes #include <string>#include <map>#include <vector>const int HEAD=0;const int POST=1;const int GET=2;const int INTERACTIVE=3;inline void NEXT_CHAR(char *buffer,int buffer_len,char c) {	memmove(buffer,buffer+1,buffer_len-1); 	buffer[buffer_len-1]=c; }class control {public:		map<string,string> attributes;	bool is_in_file;	FILE *content;	string value;};class CGI {private://	map <string,string> query_map;	map <string,string> cookie_map;//	map <string,string> fname_map;	vector<string> query_keys;	vector<string> cookie_keys;		map<string,vector<control *> > extended_query_map;		int request_method;	bool is_multipart;		string query_string;	string query_string_decoded;	string cookie_string;	string cookie_string_decoded;public:	CGI();	~CGI();	string  getQVal(const string &key,int id=0); // Query value by key 	FILE    *getUpload(const string &key,int id=0); // Uploaded file	string  getUploadedFileName(const string &key,int id=0); // Uploaded filename	control *getControl(const string &key,int id=0);		int getQValArraySize(const string &key);		string &getCVal(const string &key); // Cookie val by key		void setCookie(const string &key,const string &val,				   const string &expires,const string &path,				   const string &domain,bool isSecure);	string &getQuery();	string &getCookie();	vector<string> &getQKeys(); // Query keys	vector<string> &getCKeys(); // Cookie keys	bool isQKey(const string &key); // is Query key ?	bool isCKey(const string &key); // is Cookie key ?private:	bool isMultyPart();	void buildMultyPart();	void setAttr(string & buf,control *);	void getPostQuery();	void getGetQuery();	void getHeadQuery();	void getInteractiveQuery();	void getStdCookie();	void getInteractiveCookie();	void decodeQuery();	void decodeCookie();	void parseQuery();	void parseCookie();};#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?