亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

用VB編寫標(biāo)準(zhǔn)CGI程序(上)

2019-11-18 17:27:31
字體:
供稿:網(wǎng)友
利用通用網(wǎng)關(guān)接口(CGI) Web服務(wù)器可以執(zhí)行一些外部程序 并將這些外部程序所產(chǎn)生的輸出結(jié)果和Web服務(wù)器所管理的靜態(tài)文本 圖像和聲音融合在一起傳給相應(yīng)的Web瀏覽器。當(dāng)客戶機的瀏覽器向Web服務(wù)器請求一個HTML文件時 服務(wù)器在收到請求后就去尋找這個文件并將找到的文件傳送給客戶機。而當(dāng)客戶機的請求是一個CGI程序時 Web服務(wù)器將激活客戶機所請求的CGI程序并把程序的執(zhí)行結(jié)果傳給客戶機。

  標(biāo)準(zhǔn)的CGI程序是通過環(huán)境變量和標(biāo)準(zhǔn)輸入輸出來與Web服務(wù)器交換信息的。任何一個被系統(tǒng)激活的進程都擁有標(biāo)準(zhǔn)輸入和輸出這兩個文件句柄 CGI程序的進程也不例外。不過 當(dāng)CGI程序被Web服務(wù)器激活以后 它的標(biāo)準(zhǔn)輸入STDIN被連接到Web服務(wù)器的標(biāo)準(zhǔn)輸出STDOUT上 而CGI程序的標(biāo)準(zhǔn)輸出STDOUT則被連到服務(wù)器的標(biāo)準(zhǔn)輸入STDIN上。因此 CGI程序從標(biāo)準(zhǔn)輸入讀取信息(也就是從Web服務(wù)器的標(biāo)準(zhǔn)輸出讀信息) 而它向標(biāo)準(zhǔn)輸出寫信息(也就是向Web服務(wù)器的標(biāo)準(zhǔn)輸入寫信息)。

  Web服務(wù)器一般將客戶機傳送來的信息放在它的標(biāo)準(zhǔn)輸出和相關(guān)環(huán)境變量中 而CGI程序則從環(huán)境變量和它的標(biāo)準(zhǔn)輸入(也就是Web服務(wù)器的標(biāo)準(zhǔn)輸出)獲取所需的信息 程序的最終輸出結(jié)果則被寫向它的標(biāo)準(zhǔn)輸出STDOUT(也就是Web服務(wù)器的標(biāo)準(zhǔn)輸入)。Web服務(wù)器將從它的標(biāo)準(zhǔn)輸入STDIN(也就是CGI程序的標(biāo)準(zhǔn)輸出)獲取CGI程序的輸出結(jié)果并將它傳送給客戶機??蛻魴C Web服務(wù)器和CGI程序之間的信息交流如下圖所示。顯然 Web服務(wù)器就像是客戶機和CGI程序間的中介。

  Web服務(wù)器 CGI程序間的這種標(biāo)準(zhǔn)框架在Unix系統(tǒng)下和微軟Windows環(huán)境中的字符方式下可以工作得非常好 因為此時系統(tǒng)產(chǎn)生的所有進程都可以存取標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出。但對于微軟Windows圖形方式下的程序就不行了 因為它們無法存取標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出。為了解決這一問題 微軟在Win32系統(tǒng)中創(chuàng)建了另一類型的標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出 程序可以通過調(diào)用Win32API函數(shù)來存取標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出 不過 這就意味著使用這類標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出的CGI程序都必須是32位的。

  微軟Windows環(huán)境下的其它一些Web服務(wù)器(例如Website)則使用另外一種特殊的技術(shù)(即利用INI文件)來實現(xiàn)Web服務(wù)器和CGI程序間的數(shù)據(jù)交流。采用這種被稱為“Win-CGI”規(guī)范編寫的CGI程序通常只能在部份Web服務(wù)器上運行。一般地 支持Win-CGI的Web服務(wù)器將客戶端的輸入以及有關(guān)的狀態(tài)信息寫入到一個INI文件中 而CGI程序則從該INI文件中獲取相關(guān)信息 這類程序的執(zhí)行效率沒有標(biāo)準(zhǔn)CGI程序高。

  在進行CGI編程時 只要使CGI程序從標(biāo)準(zhǔn)輸入和環(huán)境變量中獲取客戶機提供的信息 并將要傳送給客戶機的輸出結(jié)果寫入標(biāo)準(zhǔn)輸出 剩下的信息傳遞工作將由Web服務(wù)器自動完成。CGI只是規(guī)定了一個標(biāo)準(zhǔn)的接口規(guī)范 只要遵守這個標(biāo)準(zhǔn)規(guī)范 程序開發(fā)人員就可以利用各種編程工具(如Perl C FORTRAN VisualBasic等)進行CGI編程了??紤]到VisualBasic的強大的數(shù)據(jù)庫處理能力 客戶機/服務(wù)器模式的編程能力以及字符串處理能力 所以本文主要向大家介紹如何使用VB編寫標(biāo)準(zhǔn)的CGI程序。

  一 輸入輸出的處理

  一個CGI程序被激活以后 它首先要做的事情就是確定系統(tǒng)平臺 Web服務(wù)器和客戶端瀏覽器的狀態(tài)信息以及客戶端用戶的輸入數(shù)據(jù)。此外 它還必須能夠?qū)⑾嚓P(guān)信息傳送給客戶端 否則它將一事無成。這些操作都是通過存取環(huán)境變量和標(biāo)準(zhǔn)輸入輸出來完成的。用VB編寫的CGI程序通過調(diào)用函數(shù)Environ()來獲取相關(guān)環(huán)境變量的值。存取標(biāo)準(zhǔn)輸入輸出就要在程序中使用Win32API函數(shù)GetStdHandle() ReadFile()和WriteFile() 在使用這些函數(shù)時首先必須在程序中聲明它們 寫聲明語句時可以借助于VB提供的API文本查看器。

  以下的CGI程序說明 在VB-CGI程序中如何處理環(huán)境變量和標(biāo)準(zhǔn)輸入輸出。該CGI程序非常簡單 可將標(biāo)準(zhǔn)輸入中的信息不經(jīng)任何處理就返回給客戶端 它可被任何表單用POST方法激活 

  DeclareFunctionGetStdHandleLib"kernel32"(ByValnStdHandleAsLong)AsLong

  DeclareFunctionReadFileLib"kernel32"(ByValhFileAsLong,lpBufferAsAny,

  ByValnNumberOfBytesToReadAsLong,lpNumberOfBytesReadAsLong,lpOverlappedAsAny)AsLong

  DeclareFunctionWriteFileLib"kernel32"(ByValhFileAsLong,ByVallpBufferAsString,ByValnNumberOfBytesToWriteAsLong,lpNumberOfBytesWrittenAsLong,lpOverlappedAsAny)AsLong

  PublicConstSTD_INPUT_HANDLE=-10&

  PublicConstSTD_OUTPUT_HANDLE=-11&

  PublicConstFILE_BEGIN=0&

  PublichStdInAsLong'標(biāo)準(zhǔn)輸入文件句柄

  PublichStdOutAsLong'標(biāo)準(zhǔn)輸出文件句柄



  SubMain()

  DimCGI_ContentLengthAsString CGI_QueryStringAsString

  DimlContentLengthAsLong'標(biāo)準(zhǔn)輸入中的字符串的長度

  DimsBuffAsString'用于存儲標(biāo)準(zhǔn)輸入中的字符串

  DimlBytesReadAsLong'實際讀入的字符個數(shù)

  DimrcAsLong

  DimsFormDataAsString

  '調(diào)用系統(tǒng)函數(shù)生成標(biāo)準(zhǔn)輸入輸出文件句柄

  hStdIn=GetStdHandle(STD_INPUT_HANDLE)

  hStdOut=GetStdHandle(STD_OUTPUT_HANDLE)

  '獲取環(huán)境變量CONTENT_LENGTH的值 并將它轉(zhuǎn)換為整型

  CGI_ContentLength=Environ("CONTENT_LENGTH")

  lContentLength=Val(CGI_ContentLength)

  sBuff=String(lContentLength,Chr$(0))

  '從標(biāo)準(zhǔn)輸入中讀數(shù)據(jù)

  rc=ReadFile(hStdIn,ByValsBuff,lContentLength,lBytesRead,ByVal0&)

  sFormData=Left$(sBuff,lBytesRead)

  OutPut"Content-type:text/html"&vbCrLf

  OutPut"<HTML><HEAD>"

  OutPut"<TITLE>表單傳送數(shù)據(jù)的方法POST</TITLE></HEAD>"

  OutPut"<BODY><H3>表單傳送數(shù)據(jù)的方法POST</H3>"

  OutPut"<P>本CGI程序使用VisualBasic編制 "

  OutPut"<P>POST方法傳送的數(shù)據(jù):"

  OutPut"<P>"&sBuff

  OutPut"</BODY></HTML>"

  EndSub

  SubOutPut(sAsString)'定義一個向標(biāo)準(zhǔn)輸出寫信息的函數(shù)

  DimlBytesWrittenAsLong

  s=s&vbCrLf

  WriteFilehStdOut,s,Len(s),lBytesWritten,ByVal0&

  EndSub

  一般地 用VB編譯生成的CGI程序不能正確處理中文信息。這主要表現(xiàn)在CGI程序向STDOUT輸出的中文在Web頁面上無法正確顯示 可通過在該中文字符串后跟著輸出一些空格來解決這個問題。當(dāng)使用HTML標(biāo)識符<P> </P>對Web頁面進行排版時 瀏覽器在顯示該Web頁面時會吃掉多馀的空格而只保留一個。在這種情況下 這些空格對Web頁面的外觀基本上沒有什堋影響。如果使用HTML標(biāo)識符<PRE> </PRE>對Web頁面進行排版 則由于空格不能被瀏覽器吃掉 所以Web頁面的外觀將會受到較大的影響。不過 這時可用HTML的表格<table> <P>來代替<PRE>對Web頁面進行排版。

  注意 整個CGI程序的主體必須放在MAIN()函數(shù)中。

  二 URL譯碼與解碼

  由于Web服務(wù)器和瀏覽器不能正確處理一些特殊的字符 Web服務(wù)器和瀏覽器之間可能會因此而產(chǎn)生某種程度的誤會 所以在數(shù)據(jù)被傳送之前 瀏覽器都要對表單內(nèi)客戶輸入的數(shù)據(jù)中的特殊字符進行URL譯碼。

  例如 Web系統(tǒng)用“=”分解表單各元素的NAME和VALUE屬性 用“&”分解不同表單元素的輸入數(shù)據(jù)。如果在表單的輸入數(shù)據(jù)中包含這些特殊的字符 并且表單的數(shù)據(jù)在傳送給Web服務(wù)器前不作任何處理 則Web服務(wù)器將無法知道哪一個“=” “&”是用戶輸入的 哪一個是瀏覽器加上的。在由表單屬性ACTION定義的URL中 也可能會出現(xiàn)一些特殊的字符 當(dāng)在CGI程序的名稱和路徑信息(PathInformation)中出現(xiàn)“=” “&”和“ ”時 都會影響數(shù)據(jù)的正確傳送。

  URL譯碼(URLEncoding)就是將Web服務(wù)器所不能正確處理的特殊字符轉(zhuǎn)換成它的十六進制數(shù)的形式 比如將“”轉(zhuǎn)換成“%” “=”轉(zhuǎn)換成“=”等等。這些特殊的字符通常被稱作Web系統(tǒng)的保留字符。在Web系統(tǒng)上無論是用GET方法還是用POST方法傳送的數(shù)據(jù)都要進行URL譯碼。CGI程序要想處理表單傳送來的數(shù)據(jù) 還必須對瀏覽器URL譯碼過的數(shù)據(jù)進行解碼。因此 理解URL譯碼對于我們進行CGI編程是非常重要的。URL譯碼一般包括以下步驟 

  1 瀏覽器將所傳送的數(shù)據(jù)根據(jù)表單所包含的元素分解成“NAME=VALUE”形式 NAME和VALUE分別是表單元素的屬性。其中 VALUE屬性中存儲客戶機在表單中輸入的數(shù)據(jù) 如果客戶機沒有輸入數(shù)據(jù) 則VALUE存儲的是表單定義的缺省值如果缺省值也沒有定義 則VALUE值為空。

  2 代表表單中各元素的各個“NAME=VALUE”對被瀏覽器用“&”連接起來。

  3 VALUE屬性中存放的數(shù)據(jù)若含有空格 則被轉(zhuǎn)換成“ ”。

  4 URL和輸入數(shù)據(jù)中所包含的Web系統(tǒng)的保留字符必須被譯碼成其十六進制數(shù)形式。

  5 被譯碼后的字符被表示成一個“”和它們的十六進制數(shù)形式(即HH)。

  CGI程序從環(huán)境變量“QUERY_STRING”或標(biāo)準(zhǔn)輸入中讀入的數(shù)據(jù)是經(jīng)過瀏覽器URL譯碼過的 故在使用這些數(shù)據(jù)以前還必須對它們進行URL解碼。解碼的目的是將數(shù)據(jù)還原成客戶端用戶在Web頁面上輸入時的形式。本文已經(jīng)介紹了URL譯碼過程 URL解碼過程與它正好相反 它一般包括以下步驟 

  1 從瀏覽器用GET或POST方法所傳送來的數(shù)據(jù)中找出代表各個表單元素所儲存數(shù)據(jù)的“NAME=VALUE”對。

  2 VALUE屬性中所存放的數(shù)據(jù)若含有“ ” 則被轉(zhuǎn)換成空格。

  3 將VALUE屬性中所存放的數(shù)據(jù)的十六進制數(shù)“HH”轉(zhuǎn)換成相應(yīng)的字符。

  Web系統(tǒng)將漢字當(dāng)成特殊的字符 對它也要進行URL譯碼。對于一個特殊的單字節(jié)字符(比如“/”) 瀏覽器通常將它譯碼成十六進制數(shù)的形式(比如/) “”表示它后面跟的是兩位十六進制數(shù)。當(dāng)VB程序?qū)ζ溥M行處理時調(diào)用Chr$函數(shù)就可以將其恢復(fù)為原貌。而一個漢字則被瀏覽器譯碼成四位十六進制數(shù)(比如張)。如果CGI程序還像以前那樣分別調(diào)用Chr(D5)和Chr(C5) 則由于D5 C5都不是正常的單字節(jié)十六進制數(shù)碼 故Chr函數(shù)返回空 漢字將無法正確還原。正確的做法應(yīng)該是將有關(guān)漢字的四位十六進制數(shù)一起傳給函數(shù)Chr(如Chr(D5C5)) 此時漢字才能被正確還原。

  因此 可以讓CGI程序?qū)λ奈贿B續(xù)的十六進制數(shù)一起進行譯碼 以便使?jié)h字能夠被正確還原。但在這種情況下 當(dāng)客戶端用戶輸入了兩個連續(xù)的Web系統(tǒng)保留字符時 CGI程序又可能把它們當(dāng)成漢字來處理。這時可以讓CGI程序在 要對四位連續(xù)的十六進制數(shù)進行譯碼時首先檢查前面兩位是否為Web系統(tǒng)的保留字符 如果是則仍然按照單字節(jié)的字符處理。不過如果客戶端用戶在表單內(nèi)填寫了很多漢字 則CGI程序的負(fù)擔(dān)將會大大加重。事實上 在大多數(shù)情況下 客戶端用戶很少會使用兩個連續(xù)的Web系統(tǒng)的保留字符 所以可以只讓CGI程序?qū)ψ钊菀壮霈F(xiàn)的情形如“://”(當(dāng)客戶端用戶在表單中輸入某一URL時會出現(xiàn)這種情況)進行檢查 本文下節(jié)提供的函數(shù)UrlDecode()可以實現(xiàn)對漢字和Web系統(tǒng)保留字符的URL解碼。->


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
伊人久久国产精品| 欧美片在线播放| 国色天香久久精品国产一区| 狠狠艹夜夜干| 粉嫩aⅴ一区二区三区四区五区| 国产精品h在线观看| 亚洲欧美精品久久| 久草影视在线| 香蕉视频一区| 内射毛片内射国产夫妻| 91国产在线精品| 久久久精彩视频| 宅男网站在线免费观看| 美女高潮视频在线看| 99久久激情视频| 影音先锋国产资源站| 中文字幕日韩综合| 小明精品国产一区二区三区| 97视频在线观看网址| 国产热re99久久6国产精品| 影音先锋男士资源站| 五月婷婷免费视频| 国产亚洲情侣一区二区无| 99re在线视频| 成人好色电影| 欧美日本韩国一区二区| 欧美日韩国产成人在线91| 色视频在线看| 日韩大片在线免费观看| 日韩少妇内射免费播放| 国产精品成人一区二区艾草| 岛国av在线网站| 黄色欧美视频| 美女福利一区二区三区| 91精品国产91| 精品国产美女福利到在线不卡| 国产精品国产三级国产专区53| 午夜av噜噜噜噜噜噜| 深夜福利一区二区三区| 加勒比一区二区| 久久亚洲精品石原莉奈| 日本一区二区三区在线播放| 女人天堂在线视频| www.av99| 国产精品影音先锋| 亚洲av成人无码久久精品老人| 精品一区在线| 91成人精品在线| 久久精品色欧美aⅴ一区二区| 国产日韩欧美综合一区| 波多野结衣一本一道| av影音资源网| 色综合久久88色综合天天看泰| 亚洲91中文字幕无线码三区| 妺妺窝人体色www在线下载| 亚洲欧美综合一区二区| 国产三级欧美三级| 天天操夜夜爽| 全亚洲最色的网站在线观看| 欧美黄色三级网站| 91免费看片在线观看| 啊啊啊好爽视频| 成人一二三区| 亚洲欧洲国产综合| 女人被狂躁到高潮视频免费网站| 国产日韩综合av| 亚洲国产精品欧美久久| 福利视频一二区| 动漫一区二区在线| 91在线无精精品一区二区| 久久久电影免费观看完整版| 亚洲一区二区免费视频软件合集| 色涩成人影视在线播放| 在线观看日韩精品| 欧美人牲a欧美精品| 人妻换人妻仑乱| 91麻豆国产视频| 超级碰碰视频| 国产成人毛片| 国产精品国产亚洲精品看不卡15| 国产日韩欧美夫妻视频在线观看| 综合色天天鬼久久鬼色| 亚洲影院免费观看| www日韩在线观看| 日韩av在线电影| 日本在线免费| 亚洲精品国产一区二区| 国产精品动漫网站| 美国十次综合久久| 99久久精品无码一区二区毛片| 高清av一区二区| 一区二区精品免费| 一二三四区在线观看| 伊人婷婷欧美激情| 肉色欧美久久久久久久免费看| 四虎成人精品一区二区免费网站| 亚洲精品在线网址| 日本一区二区久久精品| 一区二区三区在线观看国产| 亚洲天堂网站| 国产日产精品一区二区三区| 国产福利一区在线观看| 欧美性生交xxxxx| 成人一区二区三区在线观看| 人妻久久一区二区| 久久国产生活片100| 自拍在线观看| 久久人人爽爽爽人久久久| 毛片av中文字幕一区二区| 亚州精品视频| 欧美猛男性生活免费| 亚洲国产成人精品激情在线| 国产亚洲欧美日韩美女| 国产麻豆剧果冻传媒视频杜鹃| 亚洲产国偷v产偷v自拍涩爱| 欧美hdxxxx| 大奶一区二区三区| 91电影在线播放| 久久伦理中文字幕| 欧美日韩精品免费看| 精品成av人一区二区三区| 理论视频在线观看| 牛牛精品一区二区| 超碰97在线资源站| h视频网站在线观看| 另类国产精品一区二区| av在线电影免费观看| 精品欧美黑人一区二区三区| 精品国产乱码久久久久久老虎| 天天综合91| 好吊色视频988gao在线观看| 国产视频第一页| 欧美影院一区| 五月婷婷综合在线观看| 精品一二三四在线| 国产又粗又长又爽视频| 五月婷婷开心中文字幕| 色噜噜狠狠一区二区三区果冻| 久久久精品国产99久久精品芒果| 国产精品日日做人人爱| 第一av在线| 操人视频在线观看| 亚洲欧美日韩偷拍| 1000精品久久久久久久久| 欧美日韩国产三级| 九色丨porny丨| 在线免费观看中文字幕| 国产69视频在线观看| 精品久久人人做人人爱| 在线观看视频亚洲| 亚洲第一页中文字幕| 日韩 欧美 精品| 精品人妻无码一区二区色欲产成人| 久久精品国产成人一区二区三区| 久久久久久久高清| 国产精品亲子乱子伦xxxx裸| 天堂√在线中文官网在线| 精品在线网站观看| 国产精品乱码久久久| 久久1电影院| 色噜噜狠狠狠综合曰曰曰| 亚洲精品国产欧美| 人妻va精品va欧美va| 久草热在线观看| av一级在线| 日韩精品二区| 69日小视频在线观看| 久久麻豆精品| 欧美诱惑福利视频| 精品sm捆绑视频| 91九色在线看| 成人激情免费视频| 亚洲日本久久久| 欧美呦呦网站| 美女啪啪无遮挡免费久久网站| 99精品视频免费版的特色功能| 国产美女www爽爽爽| ww久久综合久中文字幕| 国产亚洲欧美日韩日本| 欧美精产国品一二三区| 无码人妻久久一区二区三区不卡| 青娱乐精品在线视频| 日韩成人在线电影| 乱子伦一区二区三区| 神马影院一区二区三区| 在线电影av| 成人久久18免费网站图片| 国产精品网站在线看| 少妇一级淫免费播放| 超碰97在线免费观看| 国产91精品最新在线播放| 高清精品xnxxcom| 久久成人人人人精品欧| 99在线欧洲视频| 一级特黄性色生活片| 欧美色xxx| 国产91精品一区二区| 超碰97在线看| 色一区二区三区| 欧美最大成人综合网| 日韩欧美高清在线视频| 香蕉在线观看视频| 亚洲日韩成人| 亚洲第一福利网| 先锋资源男人站| 激情六月丁香| 亚洲国产精品美女| 黄色一级片一级片| 日韩av在线免费看| 中文字幕伦理片| 亚洲精品一区二区三区在线| 欧美肥臀大乳一区二区免费视频| 国产福利在线观看视频| 亚洲无码精品国产| 亚洲高清自拍| 最新av网址在线观看| 伊人成综合网| 亚洲国产精品一区二区久久恐怖片| 国产精品午夜春色av| 亚洲欧美一区二区三区久久| 都市激情在线视频| 欧美性生活一区| 西西人体44www大胆无码| 久久青青草原一区二区| 中文字幕第8页| 日本精品一二区| 欧亚在线中文字幕免费| 这里只有久久精品视频| 亚洲午夜精品久久久| 全亚洲第一av番号网站| 91精品国产91久久久久久三级| 国产suv精品一区二区883| 免费在线观看一级毛片| 天天操夜夜骑| 91av在线免费观看| 欧美三日本三级少妇三99| 日韩在线视频在线| 日日躁夜夜躁白天躁晚上躁91| 日韩中文综合网| ed2k情侣啪啪91av| 精品国产乱码久久久久久久软件| 久久久久久久久久99| 欧美另类暴力丝袜| 人妖精品videosex性欧美| 国产一级特黄aaa大片| 免费观看亚洲| 日日夜夜操视频| 黄色在线成人| 一本到12不卡视频在线dvd| 在线观看网站免费入口在线观看国内| 亚洲欧美成人在线| 日本中文字幕不卡| 永久免费看片在线观看| 一区二区三区无码高清视频| 国产网友自拍视频| 免费看男女www网站入口在线| 99热这里只有精品3| 精品无码久久久久久久动漫| 国产伦精品一区二区三区视频黑人| 日韩国产精品久久久久久亚洲| japanese23hdxxxx日韩| 可以免费观看的黄色网址| 操一操视频一区| www.555国产精品免费| 久久精品男人天堂av| 成人羞羞网站入口免费| 亚洲网址你懂得| 激情五月激情综合| 2017亚洲天堂| 粉嫩高潮美女一区二区三区| 国产女女做受ⅹxx高潮| 特大巨黑人吊性xxx视频| 欧美酷刑日本凌虐凌虐| 亚洲AV无码国产精品午夜字幕| 久久久久久久网| 啄木系列成人av电影| 日韩有码中文字幕在线| 成人福利在线观看| 伊人成人在线视频| 亚洲高清视频网站| 国产精品3区| 一区二区三区精品视频在线观看| 欧美色婷婷天堂网站| 中文精品电影| 中文字幕亚洲区| 国产黄色91视频| 欧美日韩国产天堂| 欧美大交乱xxxxbbbb| 久久久久女人精品毛片九一| 色综合91久久精品中文字幕| 日韩成人av电影| eeuss影院在线| 国产情侣自拍av| 久久天堂夜夜一本婷婷麻豆| 在线午夜精品| 免费a级毛片在线播放| 四虎精品一区二区永久在线观看| 天天操天天操天天干| 精品盗摄女厕tp美女嘘嘘| 欧美中文字幕一二三四区| 亚洲女女做受ⅹxx高潮| 国产在线一在线二| 久久国内精品自在自线400部| 国产69精品久久久久9999apgf| 精品视频一区二区| 5858s免费视频成人| 亚洲精品白浆| 亚洲国产天堂久久国产91| 国产精品美女www爽爽爽| 91小视频在线观看| xxxxxx国产| 91麻豆天美传媒在线| 国产午夜精品一区二区三区| 婷婷激情四射网| 日本一区二区在线播放| 国产日本亚洲高清| 99精品免费| 69av自拍偷拍| 久久成人亚洲| 久久婷婷国产综合尤物精品| 久久综合亚洲色hezyo国产| 久久精品国产久精国产思思| 中文字幕第一页av| 97av视频在线| 九九热精品视频在线播放| 国产又粗又猛又爽又黄的网站| 香蕉久久久久久久| gogo高清在线播放免费|