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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cgiform.txt

?? 用C些的CGI函數(shù)庫(kù)
?? TXT
字號(hào):
CGIForm函數(shù)子庫(kù)文檔
作者:		BetonArmEE
最新版本:	2007-04-03	v1.0

>>> 目錄
1.關(guān)于
	1.1.功能概述
	1.2.兼容平臺(tái)列表
	1.3.版本歷史
2.知識(shí)手冊(cè)
	2.1.form數(shù)據(jù)與form鏈表容器
3.使用指南
	3.1.創(chuàng)建、銷毀form鏈表容器
	3.2.裝載form數(shù)據(jù)到鏈表容器
	3.3.讀取、遍歷form數(shù)據(jù)
	3.4.系統(tǒng)限制選項(xiàng)
	3.5.調(diào)試選項(xiàng)
	3.6.示例1:讀取瀏覽器端提交的表單數(shù)據(jù)
4.參考列表
	4.1.結(jié)構(gòu)體列表
	4.2.函數(shù)列表

>>> 正文
1.關(guān)于

	1.1.功能概述
	
		CGIForm是iCGI函數(shù)庫(kù)中最重要的子函數(shù)庫(kù)之一。
		CGIForm主要處理瀏覽器端表單數(shù)據(jù)(包含上傳文件數(shù)據(jù))的讀取和分析,實(shí)現(xiàn)服務(wù)端應(yīng)用獲取瀏覽器端表單數(shù)據(jù)完整解決方案。
		
	1.2.兼容平臺(tái)列表
	
		Windows、UNIX、Linux
		
	1.3.版本歷史
	
		2005-05-02	創(chuàng)建 第一版
		2007-04-02	創(chuàng)建 文檔
		
2.知識(shí)手冊(cè)

	2.1.form數(shù)據(jù)與form鏈表容器
	
		瀏覽器端表單(form)擁有若干表單域(field),最簡(jiǎn)單的表單比如網(wǎng)站用戶注冊(cè)表單,要求用戶輸入用戶名、密碼等信息。當(dāng)表單提交后,form數(shù)據(jù)通過網(wǎng)絡(luò)傳輸?shù)椒?wù)器端,由web服務(wù)軟件轉(zhuǎn)交給cgi程序,cgi程序從環(huán)境變量中讀出form數(shù)據(jù)并做出相應(yīng)業(yè)務(wù)邏輯處理。
		CGIForm子函數(shù)庫(kù)封裝了cgi程序讀取和分析過程,通過函數(shù)讀取瀏覽器端發(fā)送過來的form數(shù)據(jù)到form鏈表容器數(shù)據(jù)結(jié)構(gòu),提供大量函數(shù)方便從form鏈表容器中讀取表單域數(shù)據(jù)。

3.使用指南

	3.1.創(chuàng)建、銷毀form鏈表容器
	
		form鏈表容器其實(shí)是一個(gè)通用泛型鏈表(請(qǐng)參考iLibX函數(shù)庫(kù)List子函數(shù)庫(kù)相關(guān)文檔),用于存放表單form數(shù)據(jù),鏈表結(jié)點(diǎn)類型主要為key-value,key存放表單域名數(shù)據(jù),value存放表單域值數(shù)據(jù)。
		
		·創(chuàng)建form鏈表容器
		
			以下代碼片斷聲明了通用泛型鏈表結(jié)構(gòu)plist并初始化為form鏈表容器空值:
				SList *plist = NULL ;
				plist = CGIFormListInitial() ;
				
		·銷毀form鏈表容器
		
			以下代碼片斷用于銷毀form鏈表容器,如果form鏈表容器內(nèi)有form數(shù)據(jù),則銷毀前先釋放form數(shù)據(jù):
				BOOL bret ;
				bret = CGIFormListDestroy( &plist ) ;
			當(dāng)銷毀成功,CGIFormListDestroy返回TRUE,否則返回FALSE
			
	3.2.裝載form數(shù)據(jù)到鏈表容器
	
		form鏈表容器被初始化后需要裝載瀏覽器端提交過來的form數(shù)據(jù)
		以下代碼片斷用于從web服務(wù)器軟件處獲取裝載form數(shù)據(jù)到form鏈表容器里去:
			BOOL bret ;
			bret = CGIFormReadData( &plist ) ;
			
	3.3.讀取、遍歷form數(shù)據(jù)
	
		由于form鏈表容器其實(shí)就是一個(gè)通用泛型鏈表,就可以用iLibX.List子函數(shù)庫(kù)中的函數(shù)讀取鏈表中結(jié)點(diǎn)數(shù)據(jù)即form數(shù)據(jù),此外CGIForm子函數(shù)庫(kù)提供了一組函數(shù)能夠更方便快捷的按表單域名為索引讀取表單域值。
		注意:讀取過程并沒有把數(shù)據(jù)復(fù)制出來,而是把鏈表內(nèi)表單域值數(shù)據(jù)的內(nèi)存首地址賦值給應(yīng)用程序指定的指針變量,應(yīng)用程序可以通過引用該指針變量自行做復(fù)制等處理。
		
		·讀取一般表單域數(shù)據(jù)
			以下代碼片斷從form鏈表容器用于讀取瀏覽器表單行編輯框'textfieldUserName'中用戶輸入的值:
				char *pvalue = NULL ;
				pvalue = CGIFormGetValue( plist , "textfieldUserName" ) ;
			以下代碼片斷從form鏈表容器用于獲得表單行編輯框'textfieldUserName'中用戶輸入的值的長(zhǎng)度:
				long size ;
				size = CGIFormGetValueSize( plist , "textfieldUserName" ) ;
			有時(shí)瀏覽器端傳送過來的表單數(shù)據(jù)并不符合c語言字符串規(guī)則,此函數(shù)可以確定表單域值的長(zhǎng)度。
			
		·讀取包含上傳文件表單域數(shù)據(jù)
		
			以下代碼片斷用于從form鏈表容器讀取表單上傳文件域'fileUpload'的文件名(完整的全文件名,包含路徑、主文件名和文件擴(kuò)展名):
				char *pfilename = NULL ;
				pfilename = CGIFormGetFileName( plist , "fileUpload" ) ;
			以下代碼片斷用于從form鏈表容器獲得表單上傳文件域'fileUpload'的文件大?。▎挝粸樽止?jié)):
				long size ;
				size = CGIFormGetFileSize( plist , "fileUpload" ) ;
			以下代碼片斷用于從form鏈表容器讀取表單上傳文件域'fileUpload'的文件實(shí)際內(nèi)容:
				char *pfilecontent = NULL ;
				pfilecontent = CGIFormGetFileContent( plist , "fileUpload" ) ;
				
		·遍歷form數(shù)據(jù)
		
			請(qǐng)參考iLibX.List子函數(shù)庫(kù)相關(guān)函數(shù)遍歷鏈表即可。
			
	3.4.系統(tǒng)限制選項(xiàng)
	
		為防止瀏覽器端發(fā)送惡意數(shù)據(jù)而造成CGIForm相關(guān)函數(shù)中緩沖溢出,設(shè)置系統(tǒng)限制選項(xiàng)保護(hù)之。
		函數(shù)CGIFormSetMaxFieldNameSize設(shè)置允許的最大表單域名長(zhǎng)度和上傳文件域全文件名長(zhǎng)度,超出該限制則截取有效長(zhǎng)度部分。
		函數(shù)CGIFormSetMaxFieldDataSize設(shè)置允許的最大表單域值大小,超出該限制則截取有效長(zhǎng)度部分。
		函數(shù)CGIFormSetMaxFieldFileDataSize設(shè)置允許的最大上傳文件內(nèi)容大小,超出該限制則截取有效長(zhǎng)度部分。
		注意:系統(tǒng)限制選項(xiàng)函數(shù)必須在form數(shù)據(jù)裝載到form鏈表容器中去之前設(shè)置,即函數(shù)CGIFormReadData調(diào)用前。
		
	3.5.調(diào)試選項(xiàng)
	
		為方便調(diào)試form數(shù)據(jù)裝載過程,設(shè)置調(diào)試選項(xiàng)能夠使應(yīng)用開發(fā)者方便觀察form數(shù)據(jù)裝載過程。
		函數(shù)SetFormDebugFileName用于設(shè)置日志文件名,使裝載form數(shù)據(jù)過程中有相關(guān)dump信息寫入外部文件。如果日志文件名為空字符串(即"")則不寫日志??稍O(shè)置的日志文件名長(zhǎng)度最長(zhǎng)為255個(gè)字符。
		函數(shù)GetFormDebugFileName用于復(fù)制當(dāng)前已經(jīng)設(shè)置的日志文件名到應(yīng)用程序指定的緩沖區(qū)中。函數(shù)不檢查緩沖大小,防溢出控制由應(yīng)用開發(fā)者處理。
		
	3.6.示例1:讀取瀏覽器端提交的表單數(shù)據(jù)
	
		瀏覽器端html代碼如下:
		
			<form name="formUserLogin" method="post" action="/cgi-bin/UserLogin.fcsp">
				用戶名:<input type="text" name="textfieldUserName">
				密碼:<input type="password" name="textfieldPassword">
				<input type="submit" name="submitUserLogin" value="提交">
			</form>
			
		服務(wù)器端cgi代碼如下:
		
			SList *plistForm = NULL ; /* form鏈表容器,其實(shí)就是iLibX.List鏈表 */
			char *textfieldUserName = NULL ; /* 為方便閱讀代碼,這里把變量名與表單域名寫成一樣 */
			char *textfieldPassword = NULL ;
			BOOL bret ;
			
			/* 初始化form鏈表容器 */
			plistForm = CGIFormListInitial() ;
			if( plistForm == NULL )
			{
				/* ...初始化form鏈表容器失敗處理... */
			}
			
			/* 裝載form數(shù)據(jù)到form鏈表容器 */
			bret = CGIFormReadData( &plistForm ) ;
			if( bret != TRUE )
			{
				/* ...裝載form數(shù)據(jù)到form鏈表容器失敗處理... */
			}
			
			/* 讀取form數(shù)據(jù),即由表單域名獲得表單域值在form鏈表容器里的首地址 */
			textfieldUserName = CGIFormGetValue( plistForm , "textfieldUserName" ) ;
			textfieldPassword = CGIFormGetValue( plistForm , "textfieldPassword" ) ;
			
			/* ...這時(shí)已經(jīng)得到了瀏覽器端表單用戶名與密碼,根據(jù)業(yè)務(wù)邏輯做相應(yīng)的處理... */
			
			/* 銷毀form鏈表容器 */
			bret = CGIFormListDestroy( &plistForm ) ;
			{
				/* ...銷毀form鏈表容器失敗處理... */
			}
			
4.參考列表

	4.1.結(jié)構(gòu)體列表
	
		typedef struct tagCGIFormData
		{
			char *name; /* 表單域名 */
			char *data; /* 表單域值 或者 上傳文件域文件內(nèi)容 */
			long datasize; /* 表單域值大小 或者 上傳文件域文件大小 */
			
			char *filename; /* 上傳文件域全文件名 */
		}
		SCGIFormData; /* form數(shù)據(jù),表單域信息包,form鏈表容器結(jié)點(diǎn)值 */
		
	4.2.函數(shù)列表
	
		SetFormDebugFileName
		GetFormDebugFileName
		
		CGIFormSetMaxFieldNameSize
		CGIFormSetMaxFieldDataSize
		CGIFormSetMaxFieldFileDataSize
		
		CGIFormListInitial
		CGIFormListDestroy
		FreeCGIFormData
		
		CGIFormReadData
		
		CGIFormGetValue
		CGIFormGetValueSize
		CGIFormGetFileName
		CGIFormGetFileSize
		CGIFormGetFileContent
		
		·SetFormDebugFileName
		設(shè)置裝載form鏈表容器時(shí)調(diào)試日志文件名
		
		函數(shù)原型:
			BOOL SetFormDebugFileName( char *pcDebugPathFileName );
		輸入?yún)?shù):
			char *pcDebugPathFileName	調(diào)試日志文件名
		返回值:
			BOOL						設(shè)置成功,返回 TRUE
										設(shè)置失敗,返回 FALSE
		
		詳細(xì)描述與注意事項(xiàng):
			(無)
		示例代碼:
			SetFormDebugFileName( "form.log" );
		相關(guān)函數(shù):
			GetFormDebugFileName
		
		·GetFormDebugFileName
		獲得裝載form鏈表容器時(shí)調(diào)試日志文件名
		
		函數(shù)原型:
			BOOL GetFormDebugFileName( char *pcDebugPathFileName );
		輸入?yún)?shù):
			(無)
		輸出參數(shù):
			char *pcDebugPathFileName	調(diào)試日志文件名
		返回值:
			BOOL						總是返回 TRUE
		
		詳細(xì)描述與注意事項(xiàng):
			(無)
		示例代碼:
			char buffer[256+1];
			SetFormDebugFileName( buffer );
		相關(guān)函數(shù):
			SetFormDebugFileName

		·CGIFormSetMaxFieldNameSize
		設(shè)置最大表單域名長(zhǎng)度
		
		函數(shù)原型:
			void CGIFormSetMaxFieldNameSize( long maxsize );
		輸入?yún)?shù):
			long maxsize	最大表單域名長(zhǎng)度
		返回值:
			(無)
		
		詳細(xì)描述與注意事項(xiàng):
			(無)
		示例代碼:
			CGIFormSetMaxFieldNameSize( 1024 );
		相關(guān)函數(shù):
			CGIFormSetMaxFieldDataSize , CGIFormSetMaxFieldFileDataSize

		·CGIFormSetMaxFieldDataSize
		設(shè)置最大表單域值大小
		
		函數(shù)原型:
			void CGIFormSetMaxFieldDataSize( long maxsize );
		輸入?yún)?shù):
			long maxsize	最大表單域值大小
		返回值:
			(無)
		
		詳細(xì)描述與注意事項(xiàng):
			(無)
		示例代碼:
			CGIFormSetMaxFieldDataSize( 1024 );
		相關(guān)函數(shù):
			CGIFormSetMaxFieldNameSize , CGIFormSetMaxFieldFileDataSize

		·CGIFormSetMaxFieldFileDataSize
		設(shè)置最大上傳文件域文件大小
		
		函數(shù)原型:
			void CGIFormSetMaxFieldFileDataSize( long maxsize );
		輸入?yún)?shù):
			long maxsize		最大上傳文件域文件大小
		返回值:
			(無)
		
		詳細(xì)描述與注意事項(xiàng):
			(無)
		示例代碼:
			CGIFormSetMaxFieldFileDataSize( 1024 );
		相關(guān)函數(shù):
			CGIFormSetMaxFieldNameSize , CGIFormSetMaxFieldDataSize

		·CGIFormListInitial
		初始化form鏈表容器
		
		函數(shù)原型:
			SList *CGIFormListInitial();
		輸入?yún)?shù):
			(無)
		返回值:
			SList *		總是返回iLibX.List鏈表初始化值
		
		詳細(xì)描述與注意事項(xiàng):
			(無)
		示例代碼:
			SList *plist = NULL ;
			plist = CGIFormListInitial() ;
		相關(guān)函數(shù):
			CGIFormListDestroy

		·CGIFormListDestroy
		銷毀form鏈表容器
		
		函數(shù)原型:
			BOOL CGIFormListDestroy( SList **listForm );
		輸入?yún)?shù):
			SList **listForm		form鏈表容器的地址
		返回值:
			銷毀成功,返回 TRUE
			銷毀失敗,返回 FALSE
		
		詳細(xì)描述與注意事項(xiàng):
			(無)
		示例代碼:
			CGIFormListDestroy( &plist );
		相關(guān)函數(shù):
			CGIFormListInitial , FreeCGIFormData

		·CGIFormReadData
		裝載瀏覽器端提交的表單數(shù)據(jù)到鏈表容器
		
		函數(shù)原形:
			BOOL CGIFormReadData( SList **listForm )
		輸入?yún)?shù):
			SList **listForm	form鏈表容器的地址
		返回值:
			讀取成功,返回值 TRUE
			讀取失敗或者沒有表單數(shù)據(jù),返回 FALSE
		
		詳細(xì)描述與注意事項(xiàng):
			(無)
		示例代碼:
			CGIFormReadData( &plist );
		相關(guān)函數(shù):
			(無)
		
		·CGIFormGetValue
		由表單域名獲取在form鏈表容器中表單域值的內(nèi)存首地址
		
		函數(shù)原型:
			char *CGIFormGetValue( SList *listForm , char *name );
		輸入?yún)?shù):
			SList *listForm		form鏈表容器
			char *name			表單域名
		返回值:
			char *				form鏈表容器中表單域值的內(nèi)存首地址
		
		詳細(xì)描述與注意事項(xiàng):
			(無)
		示例代碼:
			textfieldUserName = CGIFormGetValue( plist , "textfieldUserName" ) ;
		相關(guān)函數(shù):
			CGIFormGetValueSize

		·CGIFormGetValueSize
		獲得表單域值大小
		
		函數(shù)原型:
			long CGIFormGetValueSize( SList *listForm , char *name );
		輸入?yún)?shù):
			SList *listForm		form鏈表容器
			char *name			表單域名
		返回值:
			long				表單域值大小
		
		詳細(xì)描述與注意事項(xiàng):
			(無)
		示例代碼:
			long size ;
			size = CGIFormGetValueSize( plist , "textfieldUserName" ) ;
		相關(guān)函數(shù):
			CGIFormGetValue

		·CGIFormGetFileName
		由上傳文件域名獲取在form鏈表容器中上傳文件域全文件名的內(nèi)存首地址
		
		函數(shù)原型:
			char *CGIFormGetFileName( SList *listForm , char *name );
		輸入?yún)?shù):
			SList *listForm		form鏈表容器
			char *name			上傳文件域名
		返回值:
			char *				form鏈表容器中上傳文件域文件名的內(nèi)存首地址
		
		詳細(xì)描述與注意事項(xiàng):
			(無)
		示例代碼:
			char *pfilename = NULL ;
			pfilename = CGIFormGetFileName( plist , "fileUpload" ) ;
		相關(guān)函數(shù):
			CGIFormGetFileSize , CGIFormGetFileContent

		·CGIFormGetFileSize
		由上傳文件域名獲取在form鏈表容器中上傳文件域文件大小
		獲取上傳文件域文件大小
		
		函數(shù)原型:
			long CGIFormGetFileSize( SList *listForm , char *name );
		輸入?yún)?shù):
			SList *listForm		form鏈表容器
			char *name			上傳文件域名
		返回值:
			long				form鏈表容器中上傳文件域文件大小
		
		詳細(xì)描述與注意事項(xiàng):
			(無)
		示例代碼:
			long size ;
			size = ·CGIFormGetFileSize( plist , "fileUpload" ) ;
		相關(guān)函數(shù):
			CGIFormGetFileName , CGIFormGetFileContent

		·CGIFormGetFileContent
		由上傳文件域名獲取在form鏈表容器中上傳文件域文件內(nèi)容的內(nèi)存首地址
		
		函數(shù)原型:
			char *CGIFormGetFileContent( SList *listForm , char *name );
		輸入?yún)?shù):
			SList *listForm		form鏈表容器
			char *name			上傳文件域名
		返回值:
			char *				form鏈表容器中上傳文件域文件內(nèi)容的內(nèi)存首地址
		
		詳細(xì)描述與注意事項(xiàng):
			(無)
		示例代碼:
			char *pfilecontent = NULL ;
			pfilecontent = CGIFormGetFileContent( plist , "fileUpload" ) ;
		相關(guān)函數(shù):
			CGIFormGetFileName , CGIFormGetFileSize

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩高清一区二区| 精品国产一区二区亚洲人成毛片| 精品少妇一区二区三区在线视频 | 亚洲日本一区二区三区| 欧美另类变人与禽xxxxx| 成人激情午夜影院| 免费成人在线观看| 亚洲图片欧美视频| 国产精品视频yy9299一区| 日韩精品一区二区三区蜜臀| 欧美午夜不卡在线观看免费| 成人av在线资源网站| 亚洲三级在线免费| 欧美国产成人精品| 欧美成人一级视频| 制服丝袜激情欧洲亚洲| 91高清在线观看| caoporn国产一区二区| 国产综合久久久久久鬼色| 偷拍一区二区三区| 亚洲最大的成人av| 国产精品不卡一区二区三区| 久久婷婷国产综合国色天香| 日韩午夜激情电影| 777午夜精品免费视频| 欧美日韩国产首页在线观看| 日本丶国产丶欧美色综合| 日韩精品1区2区3区| 亚洲国产毛片aaaaa无费看| 亚洲欧美日韩系列| 亚洲精品一二三四区| 亚洲视频一区在线| 亚洲视频电影在线| 亚洲国产成人一区二区三区| 久久精品亚洲国产奇米99| 精品国免费一区二区三区| 精品毛片乱码1区2区3区| 99re视频精品| 99视频精品免费视频| 成人动漫在线一区| 秋霞午夜av一区二区三区| 亚洲成人免费影院| 午夜激情综合网| 午夜精品一区二区三区电影天堂| 亚洲老妇xxxxxx| 亚洲色图.com| 亚洲动漫第一页| 午夜日韩在线观看| 日本欧美一区二区三区乱码| 日本成人超碰在线观看| 日本va欧美va精品发布| 亚洲三级在线观看| 亚洲一区二区中文在线| 日韩国产一区二| 国产在线视频不卡二| 亚洲第一二三四区| 日韩高清电影一区| 国产一区在线看| 成人av网站在线观看| 色哟哟精品一区| 欧美日韩精品欧美日韩精品| 成人黄色网址在线观看| 91在线观看下载| 欧美男女性生活在线直播观看| 波多野结衣91| 欧美亚洲愉拍一区二区| 日韩视频一区二区三区在线播放 | 成人欧美一区二区三区视频网页| 日韩免费电影网站| 欧美国产精品一区二区| 一区二区三区四区不卡视频| 午夜精品福利一区二区三区av| 一区二区三区精品| 麻豆国产一区二区| 成人性生交大片免费看中文 | 美日韩一级片在线观看| 国产精品一区三区| 久久99精品视频| 99久久久久免费精品国产 | 亚洲欧美另类久久久精品| 亚洲香肠在线观看| 国产成人小视频| 欧美丝袜丝交足nylons| 精品久久久久久最新网址| √…a在线天堂一区| 日韩精品亚洲一区二区三区免费| 五月婷婷色综合| 风间由美一区二区三区在线观看 | 国产精品一线二线三线| 麻豆国产欧美一区二区三区| 精品一区二区在线视频| 91小视频在线| 精品久久久久av影院 | 国产亚洲欧美一区在线观看| 一区二区视频在线看| 国产精品小仙女| 6080国产精品一区二区| 国产精品成人一区二区三区夜夜夜| 国产精品久久久一区麻豆最新章节| 国产精品污污网站在线观看| 午夜精品久久一牛影视| k8久久久一区二区三区| 色综合色综合色综合| 亚洲精品在线观看网站| 亚洲va欧美va人人爽午夜| 成人ar影院免费观看视频| 一本一道久久a久久精品 | 亚洲午夜久久久久久久久电影网 | 3atv一区二区三区| 亚洲视频在线一区观看| 国产 日韩 欧美大片| 精品福利一区二区三区| 亚洲va在线va天堂| 欧美在线制服丝袜| 日韩欧美你懂的| 日韩国产欧美在线播放| 国产一区二区精品久久99| 6080国产精品一区二区| 五月天激情综合| 国产91精品欧美| 久久综合九色综合欧美98| 日韩精彩视频在线观看| 高潮精品一区videoshd| 91在线免费看| 中文字幕亚洲欧美在线不卡| 成人性色生活片| 国产精品久久777777| 成人免费看视频| 国产精品美女久久久久av爽李琼 | 国产美女精品一区二区三区| 成人黄色片在线观看| 国产女同性恋一区二区| 亚洲成人你懂的| 欧美日韩免费电影| 亚洲国产精品欧美一二99| 欧美视频一区二区三区在线观看| 久久精品亚洲乱码伦伦中文 | 麻豆久久久久久| 日韩一区二区不卡| 男人的j进女人的j一区| 日韩免费性生活视频播放| 激情都市一区二区| 久久免费午夜影院| 国产成人精品免费在线| 欧美人与禽zozo性伦| 欧美国产精品中文字幕| 99久久综合色| 亚洲精选在线视频| 欧美高清性hdvideosex| 麻豆精品视频在线观看| 国产欧美视频一区二区三区| 白白色亚洲国产精品| 亚洲乱码国产乱码精品精的特点| 精品一区二区三区视频在线观看| 欧美在线播放高清精品| 国产精品久久久久一区| 色噜噜偷拍精品综合在线| 亚洲午夜三级在线| 精品少妇一区二区| 成人小视频在线| 亚洲成人激情社区| 欧美精品一区二区三区在线播放 | 久久99国产精品成人| 国产亚洲人成网站| 精品一区二区在线视频| 国产欧美日韩在线看| 国内久久精品视频| 国产精品欧美一区喷水| 国产成人夜色高潮福利影视| 日韩美女精品在线| 欧美久久久一区| 国产精品一区三区| 亚洲国产精品自拍| 欧美午夜寂寞影院| 国产精品综合在线视频| 亚洲黄色av一区| 欧美成人三级电影在线| 国产91丝袜在线18| 中文字幕免费不卡| 欧美日韩第一区日日骚| 国产成人亚洲综合a∨猫咪| 国产亚洲婷婷免费| 欧美另类高清zo欧美| 日本伊人色综合网| 国产精品久久久久国产精品日日| 成人国产电影网| 美女视频网站久久| 亚洲三级电影全部在线观看高清| av成人动漫在线观看| 日韩成人精品视频| 最新国产成人在线观看| 972aa.com艺术欧美| 日本sm残虐另类| 精品盗摄一区二区三区| 在线观看www91| 成人黄色国产精品网站大全在线免费观看 | 亚洲综合在线免费观看| 日韩一区二区在线观看视频播放| 美女脱光内衣内裤视频久久影院| 欧美日韩在线免费视频|