亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cgiquery.txt

?? 用C些的CGI函數庫
?? TXT
字號:
CGIQuery函數子庫文檔
作者:		BetonArmEE
最新版本:	2007-04-04	v1.0

>>> 目錄
1.關于
	1.1.功能概述
	1.2.兼容平臺列表
	1.3.版本歷史
2.知識手冊
	2.1.query數據與query鏈表容器
3.使用指南
	3.1.創建、銷毀query鏈表容器
	3.2.裝載query數據到鏈表容器
	3.3.讀取、遍歷query數據
	3.4.系統限制選項
	3.5.調試選項
	3.6.示例1:讀取瀏覽器端提交的地址欄數據
4.參考列表
	4.1.結構體列表
	4.2.函數列表

>>> 正文
1.關于

	1.1.功能概述
	
		CGIQuery是iCGI函數庫中最重要的子函數庫之一。
		CGIQuery主要處理瀏覽器訪問網址的讀取和分析,實現服務端應用獲取用戶訪問網址數據處理完整解決方案。
		
	1.2.兼容平臺列表
	
		Windows、UNIX、Linux
		
	1.3.版本歷史
	
		2005-05-02	創建 第一版
		2007-04-02	創建 文檔
		
2.知識手冊

	2.1.query數據與query鏈表容器
	
		網絡域名地址由域名、路徑、文件名以及參數列表組成,最簡單的網絡域名地址比如“http://www.xxx.com/”,稍稍復雜一點的有“http://www.xxx.com/forum/showtopic.jsp?forumid=1&topicid=3”,“http:”是使用的協議,“www.xxx.com”是域名,“/forum/”是路徑,“showtopic.jsp”是訪問的動態語言程序,“forumid=1&topicid=3”是參數列表。當瀏覽器指向新網址后,query數據通過網絡傳輸到服務器端,由web服務軟件轉交給cgi程序,cgi程序從環境變量中讀出地址欄信息并做出相應業務邏輯處理。
		CGIQuery子函數庫封裝了cgi程序讀取和分析地址欄過程,通過函數讀取瀏覽器端發送過來的query數據到query鏈表容器數據結構,提供大量函數方便從query鏈表容器中讀取地址欄數據。

3.使用指南

	3.1.創建、銷毀query鏈表容器
	
		query鏈表容器其實是一個通用泛型鏈表(請參考iLibX函數庫List子函數庫相關文檔),用于存放表單query數據,鏈表結點類型主要為key-value,key存放表單域名數據,value存放表單域值數據。
		
		·創建query鏈表容器
		
			以下代碼片斷聲明了通用泛型鏈表結構plist并初始化為query鏈表容器空值:
				SList *plist = NULL ;
				plist = CGIQueryListInitial() ;
				
		·銷毀query鏈表容器
		
			以下代碼片斷用于銷毀query鏈表容器,如果query鏈表容器內有query數據,則銷毀前先釋放query數據:
				BOOL bret ;
				bret = CGIQueryListDestroy( &plist ) ;
			當銷毀成功,CGIQueryListDestroy返回TRUE,否則返回FALSE
			
	3.2.裝載query數據到鏈表容器
	
		query鏈表容器被初始化后需要裝載瀏覽器端提交過來的query數據
		以下代碼片斷用于從web服務器軟件處獲取裝載query數據到query鏈表容器里去:
			BOOL bret ;
			bret = CGIQueryReadData( &plist ) ;
			
	3.3.讀取、遍歷query數據
	
		由于query鏈表容器其實就是一個通用泛型鏈表,就可以用iLibX.List子函數庫中的函數讀取鏈表中結點數據即query數據,此外CGIQuery子函數庫提供了一組函數能夠更方便快捷的按表單域名為索引讀取表單域值。
		注意:讀取過程并沒有把數據復制出來,而是把鏈表內表單域值數據的內存首地址賦值給應用程序指定的指針變量,應用程序可以通過引用該指針變量自行做復制等處理。
		
		·讀取一般地址欄數據
			以下代碼片斷從query鏈表容器用于讀取地址欄參數'forumid'的值:
				char *pvalue = NULL ;
				pvalue = CGIQueryGetValue( plist , "textfieldUserName" ) ;
			
		·遍歷query數據
		
			請參考iLibX.List子函數庫相關函數遍歷鏈表即可。
			
	3.5.調試選項
	
		為方便調試query數據裝載過程,設置調試選項能夠使應用開發者方便觀察query數據裝載過程。
		函數SetQueryDebugFileName用于設置日志文件名,使裝載query數據過程中有相關dump信息寫入外部文件。如果日志文件名為空字符串(即"")則不寫日志。可設置的日志文件名長度最長為255個字符。
		函數GetQueryDebugFileName用于復制當前已經設置的日志文件名到應用程序指定的緩沖區中。函數不檢查緩沖大小,防溢出控制由應用開發者處理。
		
	3.6.示例1:讀取瀏覽器端指向的地址欄數據
	
		瀏覽器端指向的本程序網址為:
			
			http://www.xxx.com/module/user/cgi-bin/sys_ServiceManage.fcsp?username=root&password=root
			
		服務器端cgi代碼如下:
		
			SList *plistQuery = NULL ; /* query鏈表容器,其實就是iLibX.List鏈表 */
			char *username = NULL ; /* 為方便閱讀代碼,這里把變量名與地址欄參數名寫成一樣 */
			char *password = NULL ;
			BOOL bret ;
			
			/* 初始化query鏈表容器 */
			plistQuery = CGIQueryListInitial() ;
			if( plistQuery == NULL )
			{
				/* ...初始化query鏈表容器失敗處理... */
			}
			
			/* 裝載query數據到query鏈表容器 */
			bret = CGIQueryReadData( &plistQuery ) ;
			if( bret != TRUE )
			{
				/* ...裝載query數據到query鏈表容器失敗處理... */
			}
			
			/* 讀取query數據,即由參數名獲得地址欄參數值在query鏈表容器里的首地址 */
			username = CGIQueryGetValue( plistQuery , "username" ) ;
			password = CGIQueryGetValue( plistQuery , "password" ) ;
			
			/* ...這時已經得到了瀏覽器指向的地址參數,根據業務邏輯做相應的處理... */
			
			/* 銷毀query鏈表容器 */
			bret = CGIQueryListDestroy( &plistQuery ) ;
			{
				/* ...銷毀query鏈表容器失敗處理... */
			}
			
4.參考列表

	4.1.函數列表
		
		SetQueryDebugFileName
		GetQueryDebugFileName
		
		CGIQueryListInitial
		CGIQueryListDestroy
		
		CGIQueryReadData
		
		CGIQueryGetValue
		
		SetQueryDebugFileName
		設置裝載query鏈表容器時調試日志文件名
		
		函數原型:
			BOOL SetQueryDebugFileName( char *pcDebugPathFileName );
		輸入參數:
			char *pcDebugPathFileName	調試日志文件名
		返回值:
			BOOL						設置成功,返回 TRUE
										設置失敗,返回 FALSE
		
		詳細描述與注意事項:
			(無)
		示例代碼:
			SetQueryDebugFileName( "query.log" );
		相關函數:
			GetQueryDebugFileName
		
		GetQueryDebugFileName
		獲得裝載query鏈表容器時調試日志文件名
		
		函數原型:
			BOOL GetQueryDebugFileName( char *pcDebugPathFileName );
		輸入參數:
			(無)
		輸出參數:
			char *pcDebugPathFileName	調試日志文件名
		返回值:
			BOOL						總是返回 TRUE
		
		詳細描述與注意事項:
			(無)
		示例代碼:
			char buffer[256+1];
			GetQueryDebugFileName( buffer );
		相關函數:
			SetQueryDebugFileName

		·CGIQueryListInitial
		初始化query鏈表容器
		
		函數原型:
			SList *CGIQueryListInitial();
		輸入參數:
			(無)
		返回值:
			SList *		總是返回iLibX.List鏈表初始化值
		
		詳細描述與注意事項:
			(無)
		示例代碼:
			SList *plist = NULL ;
			plist = CGIQueryListInitial() ;
		相關函數:
			CGIQueryListDestroy

		·CGIQueryListDestroy
		銷毀query鏈表容器
		
		函數原型:
			BOOL CGIQueryListDestroy( SList **listQuery );
		輸入參數:
			SList **listQuery		query鏈表容器的地址
		返回值:
			銷毀成功,返回 TRUE
			銷毀失敗,返回 FALSE
		
		詳細描述與注意事項:
			(無)
		示例代碼:
			CGIQueryListDestroy( &plist );
		相關函數:
			CGIQueryListInitial , FreeCGIQueryData

		·CGIQueryReadData
		裝載瀏覽器端指向的地址欄數據到鏈表容器
		
		函數原形:
			BOOL CGIQueryReadData( SList **listQuery )
		輸入參數:
			SList **listQuery	query鏈表容器的地址
		返回值:
			讀取成功,返回值 TRUE
			讀取失敗或者沒有表單數據,返回 FALSE
		
		詳細描述與注意事項:
			(無)
		示例代碼:
			CGIQueryReadData( &plist );
		相關函數:
			(無)
		
		·CGIQueryGetValue
		由表單域名獲取在query鏈表容器中表單域值的內存首地址
		
		函數原型:
			char *CGIQueryGetValue( SList *listQuery , char *name );
		輸入參數:
			SList *listQuery		query鏈表容器
			char *name			表單域名
		返回值:
			char *				query鏈表容器中表單域值的內存首地址
		
		詳細描述與注意事項:
			(無)
		示例代碼:
			username = CGIQueryGetValue( plist , "username" ) ;
		相關函數:
			(無)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩丝袜情趣美女图片| 国产精品沙发午睡系列990531| 色噜噜狠狠成人中文综合| 成人激情免费电影网址| 成人亚洲一区二区一| 成人午夜电影网站| 国产.欧美.日韩| 成人精品高清在线| www.亚洲激情.com| 91在线小视频| 日本道精品一区二区三区| 色偷偷久久一区二区三区| 99精品久久久久久| 欧美在线一二三| 91精品婷婷国产综合久久性色| 欧美一区二区啪啪| 久久亚洲一区二区三区四区| 国产三级欧美三级日产三级99| 日本一区二区免费在线| 中文字幕一区二区5566日韩| 亚洲精选视频在线| 亚洲成av人片观看| 激情综合色丁香一区二区| 韩国av一区二区三区| 成人aaaa免费全部观看| 色视频欧美一区二区三区| 欧美日韩欧美一区二区| 欧美第一区第二区| 国产精品免费网站在线观看| 亚洲色图欧美偷拍| 无吗不卡中文字幕| 国产一区二区三区av电影| 97久久精品人人爽人人爽蜜臀| 在线观看不卡视频| 日韩网站在线看片你懂的| 国产精品人人做人人爽人人添 | 亚洲电影一级片| 另类小说图片综合网| 国产二区国产一区在线观看| 国产日产欧美精品一区二区三区| 26uuu成人网一区二区三区| 国产精品美女视频| 亚洲国产精品久久人人爱蜜臀| 美女精品一区二区| 91在线码无精品| 欧美一级视频精品观看| 中国色在线观看另类| 亚洲国产精品一区二区久久| 国产一区二区三区黄视频 | av一区二区三区四区| 777久久久精品| 日本一区二区成人| 五月天一区二区| 国产成人精品aa毛片| 91精品久久久久久久99蜜桃| 国产精品久久久久久久久图文区| 日本sm残虐另类| 91免费视频观看| 精品国产乱码久久久久久影片| 亚洲欧美成aⅴ人在线观看 | 日韩午夜电影在线观看| 国产欧美精品日韩区二区麻豆天美| 亚洲国产一区在线观看| 成人免费三级在线| 日韩精品一区二区三区视频| 亚洲综合视频在线观看| 成人精品国产福利| 精品国产乱码久久久久久蜜臀| 一区二区三区**美女毛片| 成人综合日日夜夜| 欧美电影免费提供在线观看| 亚洲v中文字幕| 91啪亚洲精品| 国产亚洲精品精华液| 美女脱光内衣内裤视频久久网站| 91免费看片在线观看| 亚洲国产精品二十页| 国产综合久久久久久久久久久久| 6080日韩午夜伦伦午夜伦| 亚洲人成伊人成综合网小说| 大陆成人av片| 久久久99精品免费观看| 精品国产伦理网| 亚洲综合小说图片| 99re66热这里只有精品3直播| 久久久久99精品国产片| 久久成人免费网站| 69p69国产精品| 亚洲超碰精品一区二区| 欧美亚州韩日在线看免费版国语版| 亚洲视频1区2区| 成人午夜在线视频| 国产人妖乱国产精品人妖| 国产激情一区二区三区桃花岛亚洲| 欧美一级艳片视频免费观看| 丝袜脚交一区二区| 717成人午夜免费福利电影| 午夜电影网亚洲视频| 7777精品伊人久久久大香线蕉经典版下载 | 精品一二线国产| 日韩视频免费观看高清完整版在线观看 | 精品日韩一区二区| 久久精品72免费观看| 日韩美女主播在线视频一区二区三区| 肉肉av福利一精品导航| 这里只有精品电影| 青青草原综合久久大伊人精品优势| 欧美日本免费一区二区三区| 日韩国产在线一| 日韩欧美国产电影| 紧缚奴在线一区二区三区| 久久亚洲影视婷婷| 成人国产亚洲欧美成人综合网 | 日本成人在线视频网站| 91精品国产色综合久久不卡电影| 日韩高清在线电影| 精品乱人伦一区二区三区| 国产一级精品在线| 国产欧美日韩精品一区| 成人的网站免费观看| 亚洲色图欧美在线| 欧美性感一区二区三区| 亚洲成人动漫av| 日韩一区二区中文字幕| 国产一区在线观看视频| 国产精品无人区| 在线观看www91| 蜜桃av一区二区| 日本一二三不卡| 欧美专区日韩专区| 久久电影网电视剧免费观看| 中文字幕的久久| 欧美中文字幕一区二区三区| 日韩电影在线观看一区| 国产日韩精品一区二区三区| 91浏览器入口在线观看| 日本电影亚洲天堂一区| 午夜a成v人精品| 久久精品一区四区| 99久久精品99国产精品| 天天综合天天做天天综合| 久久精品免费在线观看| 在线观看91精品国产入口| 毛片av中文字幕一区二区| 国产精品美女久久久久av爽李琼| 在线视频国产一区| 久久草av在线| 亚洲三级小视频| 欧美电影免费观看高清完整版在线观看 | 午夜欧美一区二区三区在线播放| 日韩精品中文字幕在线不卡尤物| 成人av在线网| 久久精品国产亚洲高清剧情介绍| 国产精品午夜在线| 在线成人小视频| 成人精品视频网站| 热久久免费视频| 日韩理论片在线| 欧美xxx久久| 欧美性生活影院| 成人一区二区三区在线观看| 日韩成人免费在线| 综合久久给合久久狠狠狠97色 | 亚洲成人免费影院| 国产精品乱子久久久久| 欧美成人精品二区三区99精品| 色综合久久中文字幕综合网| 国产一区美女在线| 丝袜诱惑制服诱惑色一区在线观看 | 国产一区二区三区综合| 亚洲成a人v欧美综合天堂下载| 中文字幕欧美激情| 日韩西西人体444www| 欧美亚洲国产一区二区三区| 9l国产精品久久久久麻豆| 国产在线不卡一区| 美女爽到高潮91| 五月天视频一区| 一区二区三国产精华液| 国产精品每日更新在线播放网址| 欧美成人伊人久久综合网| 欧美视频一区二区三区四区| 不卡一卡二卡三乱码免费网站| 国内精品免费**视频| 日韩av午夜在线观看| 亚洲综合在线第一页| 亚洲人午夜精品天堂一二香蕉| 久久久高清一区二区三区| 日韩精品中文字幕在线不卡尤物| 欧美日韩精品三区| 欧美视频一二三区| 色系网站成人免费| 99精品欧美一区| av电影在线观看完整版一区二区| 国产乱人伦偷精品视频不卡| 麻豆精品在线观看| 久久99久久久久| 男男gaygay亚洲| 免费成人在线播放| 久久se精品一区精品二区|