日本特黄特色aa大片免费,人妻少妇偷人精品免费看,在线毛片一区二区不卡视频,日韩欧美成人免费一级片,亚洲欧美中文影视

日本特黄特色aa大片免费,人妻少妇偷人精品免费看,在线毛片一区二区不卡视频,日韩欧美成人免费一级片,亚洲欧美中文影视

認證培訓,h3c認證體系,網(wǎng)絡(luò )工程師
豐沃創(chuàng  )新

HTTP服務(wù)器中遇到的一些問(wèn)題

  • 發(fā)布時(shí)間: 2018-4-27 9:06:27

前不久,手寫(xiě)了個(gè)服務(wù)器,并不難,還是基于 HttpListener ,敲簡(jiǎn)單!

當然還是基于最早寫(xiě)的一個(gè) Server 雛形,項目名為 Kserver,KServer 當初是為了當初自己想用 C# 實(shí)現 WebDav 的一些想法,后來(lái)也沒(méi)有繼續寫(xiě)下去,工程量太大了,有興趣的朋友可以看看 IETF RFC4918 中的協(xié)議定義嘗試實(shí)現一把,會(huì )很愉快的。

說(shuō)說(shuō)我的 Kserver 的調用,基本上三兩行代碼的事情。

  1. int port = 6600; 
  2. KServer kServer = new KServer(port); 
  3. kServer.OnRequest += KServer_OnRequest; 
  4. kServer.OnError += KServer_OnError; 
  5. kServer.Start(); 
  6. Console.WriteLine("listening on port {0} ...", port); 

在 KServer_OnRequest 中處理正常的 HTTP 請求,在 KServer_OnError 中處理程序錯誤,通常這里返回 HTTP 500 給客戶(hù)端。

說(shuō)一個(gè)坑爹的事情,這個(gè)程序啟動(dòng)后占用 6600 端口,然后在 Apache 配置了反向代理。

  1. <VirtualHost *:80> 
  2.     ServerName 1ll.co 
  3.     ProxyRequests off 
  4.     <Proxy *> 
  5.     Order deny,allow 
  6.     Allow from all 
  7.     </Proxy> 
  8.     ProxyPass / http://localhost:6600/ 
  9.     ProxyPassReverse / http://localhost:6600/ 
  10.     ProxyPassReverseCookieDomain http://localhost:6600 http://1ll.co 
  11.     ProxyPassReverseCookiePath / http://localhost:6600/ 
  12. </VirtualHost> 

但是寫(xiě) Cookie 始終不成功,寫(xiě) Cookie 的關(guān)鍵代碼如下:

  1. resp.AppendHeader("Set-Cookie"name + "=" + value + "; path=/; domain=" + host + "; expires=" + expireGMT); 

resp 是 KHttpServer.IHttpListenerResponse 的實(shí)現,繼承于 HttpListenerResponse,我設置 Host 為 req.Url.Host。這個(gè)在本機是不會(huì )有問(wèn)題的,單獨在服務(wù)器中使用 80 端口也不會(huì )有問(wèn)題,有問(wèn)題的是即便通過(guò)反向代理,獲取 Headers 中 的 Host 值始終還是 localhost,要通過(guò) X-Forwarded-Host 才可以,這個(gè)大學(xué)時(shí)好歹了解過(guò),平時(shí)開(kāi)發(fā)全部基于 IIS,沒(méi)有反向代理,頭一回遇到。

  1. var headers = obj.Request.Headers; 
  2. if (string.IsNullOrEmpty(_Host)) 
  3.     // 是否有反向代理 
  4.     bool poweredByProxy = false
  5.     IEnumerator keyenum = headers.GetEnumerator(); 
  6.     while (keyenum.MoveNext()) 
  7.     { 
  8.         string key = keyenum.Current.ToString(); 
  9.         if (key == "X-Forwarded-Host"
  10.         { 
  11.             _Host = headers[key]; 
  12.             poweredByProxy = true
  13.             break; 
  14.         } 
  15.     } 
  16.     // 沒(méi)有反向代理,就使用默認 Host 
  17.     if (!poweredByProxy) _Host = obj.Request.Url.Host; 

接下來(lái)就是模板引擎了,不用 Razor 了,說(shuō)真的對 Razor 漸漸的沒(méi)啥好感了,感覺(jué)挺笨重,所以選用了 DotLiquid,用 Liquid 做模板引擎的應用可以說(shuō)是非常多了。

  • DotLiquid http://dotliquidmarkup.org/

于是擴展了 String 類(lèi),增加了 Html 模板文件渲染 Html 的方法:

  1. public static string AsHtmlFromTemplate(this string tmpl, object model) 
  2.  { 
  3.      string html = Template.Parse(tmpl).Render(Hash.FromAnonymousObject(model)); 
  4.      return html; 
  5.  } 

然后包含模板頁(yè)渲染的寫(xiě)法就變成醬嬸了。

  1. string postListHtmlTmpl = ResourceHelper.LoadStringResource("postlist.html"); 
  2. string adminHtmlTmpl = ResourceHelper.LoadStringResource("admin.html"); 
  3. obj.Response.AsHtml(adminHtmlTmpl.AsHtmlFromTemplate(new 
  4.     RenderBody = postListHtmlTmpl.AsHtmlFromTemplate(new 
  5.     { 
  6.         PageData = pageData.ToArray(), 
  7.         NaviData = naviData, 
  8.         CurrentPage = page.ToString(), 
  9.         Error = error, 
  10.         Success = success 
  11.     }) 
  12. })); 

RenderBody 是模仿 Razor 搞的個(gè)關(guān)鍵字,表示是子頁(yè)顯示內容的區域。

對于字體、腳本(第三方)、圖片這些靜態(tài)資源,我的想法是既然不會(huì )有大的變動(dòng),就讓他永久緩存在瀏覽器好了。

  1. obj.Response.AppendHeader("Cache-Control""max-age=315360000"); 

其他的就是處理 POST ,處理 Cookie 了。HttpListenerRequest 是沒(méi)法獲取 Form 表單的值的,只能讀取 InputStream 中的值,然后自己根據鍵值對獲取了。Cookie 是不能簡(jiǎn)單的通過(guò)鍵值對分割,查詢(xún)值按照等號分割沒(méi)關(guān)系,因為 Value 都是編碼了的,不會(huì )含有等號,但是 Cookie 中是可能會(huì )有等號的,比如 Base64 編碼過(guò)的值里,大部分都有。

同樣,獲取 Cookie 的方法也木有,自己從 Header 里找吧,滑稽。

  1. public static string GetCookie(this KHttpServer.IHttpListenerRequest req, string name
  2.     System.Collections.Specialized.NameValueCollection headers = req.Headers; 
  3.     string cookies = headers["Cookie"]; 
  4.     if (cookies == null || cookies.Length < 1) return null
  5.     var dict = cookies.AsCookieParameters(); 
  6.     if (!dict.ContainsKey(name)) return null
  7.     return dict[name]; 

接下來(lái)模擬登陸成功后的跳轉,用過(guò) Asp.net 的知道有個(gè) Response.Redirect ,不過(guò) HttpListenerRequest 肯定是沒(méi)有這個(gè)方法的,可以通過(guò)設置 Header 302 重定向就行了,為啥是 302 不是 301,自己想吧。

  1. public static void Redirect(this KHttpServer.IHttpListenerResponse resp, string url) 
  2.     resp.StatusCode = 302; 
  3.     resp.AppendHeader("Location", url); 
  4.     resp.Close(); 

對于較大的頁(yè)面,也許還是希望用 Gzip 壓縮一下,需要設置 Content-Encoding 為 Gzip。

  1. resp.AppendHeader("Content-Encoding""gzip"); 

我這里處理比較簡(jiǎn)單,是不管客戶(hù)端的 Accept-Type 的,不過(guò)現代瀏覽器基本都支持了。

對相應內容進(jìn)行壓縮:

  1. resp.AppendHeader("Content-Encoding""gzip"); 
  2. byte[] data = GzipCompressor.Compress(text); 
  3. MemoryStream ms = new MemoryStream(data); 
  4. AsStream(resp, ms, mime); 
  5. ms.Close(); 

既然是純 C#,沒(méi)有了 WebForm 和 MVC 這類(lèi)框架,分頁(yè)處理也顯得不簡(jiǎn)單了,從網(wǎng)上改造了一個(gè) PHP 寫(xiě)的分頁(yè)類(lèi),果然 PHP 是最好的語(yǔ)言!鷂→

這不是取數據時(shí)的分頁(yè),而是顯示時(shí)候的分頁(yè)。

  1. /// <summary> 
  2. /// 分頁(yè)處理類(lèi) 
  3. /// </summary> 
  4. public class PageNumber 
  5.     /// <summary> 
  6.     /// 是否顯示[首頁(yè)] 
  7.     /// </summary> 
  8.     public bool ShowFirstPage { get; set; } 
  9.  
  10.     /// <summary> 
  11.     /// 是否顯示[末頁(yè)] 
  12.     /// </summary> 
  13.     public bool ShowEndPage { get; set; } 
  14.  
  15.     /// <summary> 
  16.     /// 翻頁(yè)Url前綴 
  17.     /// </summary> 
  18.     public string UrlPrefix { get; set; } 
  19.  
  20.     public PageNumber() 
  21.     { 
  22.         ShowFirstPage = true
  23.         ShowEndPage = true
  24.         UrlPrefix = ""
  25.     } 
  26.  
  27.     /// <summary> 
  28.     /// 獲取分頁(yè),返回數據,如[["1","首頁(yè)","/page/1"]] 
  29.     /// </summary> 
  30.     /// <param name="page">當前頁(yè)</param> 
  31.     /// <param name="pages">總頁(yè)數</param> 
  32.     /// <returns></returns
  33.     public List<string[]> GetPageNumbers(int page, int pages) 
  34.     { 
  35.  
  36.         List<string[]> plists = new List<string[]>(); 
  37.  
  38.         //最多顯示多少個(gè)頁(yè)碼   
  39.         int _pageNum = 5; 
  40.         //當前頁(yè)面小于1 則為1   
  41.         page = page < 1 ? 1 : page; 
  42.         //當前頁(yè)大于總頁(yè)數 則為總頁(yè)數   
  43.         page = page > pages ? pages : page; 
  44.         //頁(yè)數小當前頁(yè) 則為當前頁(yè)   
  45.         pages = pages < page ? page : pages; 
  46.  
  47.         //計算開(kāi)始頁(yè)   
  48.         int _start = page - (int)Math.Floor((double)_pageNum / 2); 
  49.         _start = _start < 1 ? 1 : _start; 
  50.         //計算結束頁(yè)   
  51.         int _end = page + (int)Math.Floor((double)_pageNum / 2); 
  52.         _end = _end > pages ? pages : _end; 
  53.  
  54.         //當前顯示的頁(yè)碼個(gè)數不夠最大頁(yè)碼數,在進(jìn)行左右調整   
  55.         int _curPageNum = _end - _start + 1; 
  56.         //左調整   
  57.         if (_curPageNum < _pageNum && _start > 1) 
  58.         { 
  59.             _start = _start - (_pageNum - _curPageNum); 
  60.             _start = _start < 1 ? 1 : _start; 
  61.             _curPageNum = _end - _start + 1; 
  62.         } 
  63.         //右邊調整   
  64.         if (_curPageNum < _pageNum && _end < pages) 
  65.         { 
  66.             _end = _end + (_pageNum - _curPageNum); 
  67.             _end = _end > pages ? pages : _end; 
  68.         } 
  69.  
  70.         if (ShowFirstPage) 
  71.             plists.Add(new string[] { """首頁(yè)", string.IsNullOrEmpty(UrlPrefix) ? "" : UrlPrefix + "1" }); 
  72.  
  73.         if (page > 1) 
  74.         { 
  75.             plists.Add(new string[] { (page - 1).ToString(), "上頁(yè)", string.IsNullOrEmpty(UrlPrefix) ? "" : UrlPrefix + (page - 1).ToString() }); 
  76.         } 
  77.         for (int i = _start; i <= _end; i++) 
  78.         { 
  79.             plists.Add(new string[] { i.ToString(), i.ToString(), string.IsNullOrEmpty(UrlPrefix) ? "" : UrlPrefix + i.ToString() }); 
  80.         } 
  81.         if (page < _end) 
  82.         { 
  83.             plists.Add(new string[] { (page + 1).ToString(), "下頁(yè)" , string.IsNullOrEmpty(UrlPrefix) ? "" : UrlPrefix + (page + 1).ToString() }); 
  84.         } 
  85.  
  86.         if (ShowEndPage) 
  87.             plists.Add(new string[] { """末頁(yè)", string.IsNullOrEmpty(UrlPrefix) ? "" : UrlPrefix + (pages).ToString() }); 
  88.  
  89.         return plists; 
  90.     } 

用 SimpleMDE 作為 Markdown 編輯器,,誰(shuí)用誰(shuí)知道,對于富文本的排版,我始終無(wú)能為力,Word 也不會(huì )用,markdown 真好用!

  • SimpleMDE https://simplemde.com/

效果如下圖:

SimpleMDE 是沒(méi)有上傳圖片的功能,需要自己處理,不過(guò)自定義按鈕官方文檔中有,我只是做了寫(xiě)微小的工作,為按鈕加個(gè)選圖片和上傳的事件,這需要 jQuery 和 jQuery.Form 的支持。

  1. function upload(){ 
  2.     var sid = 'hTyx6Tm9Ikl06Ap'
  3.     var forms = $('#form_' + sid).length; 
  4.     if (forms > 0) { 
  5.         $('#form_' + sid).remove(); 
  6.     } 
  7.     var fhtml = '<form action="圖片上傳接口" method="post" enctype="multipart/form-data" style="display:none;" id="form_' + sid + '">'
  8.     fhtml += '<input id="input_' + sid + '" type="file" name="file">'
  9.     fhtml += '<input type="submit" value="upload" />'
  10.     fhtml += '</form>'
  11.     $('body').append(fhtml); 
  12.     $('#input_' + sid).change(function () { 
  13.         $('#form_' + sid).ajaxSubmit({ 
  14.             success: function (data) { 
  15.             alert(data); 
  16.             } 
  17.         }); 
  18.     }).click(); 

如果你的接口是外部服務(wù)或者阿里云OSS,要記得設置跨域,不然報錯,這個(gè)搞過(guò)開(kāi)發(fā)的都懂得。

最初版本的后臺 Markdown 渲染用的 Github 上的 star 最多的那一個(gè) Markdig,在 CentOS 7 下 mono 環(huán)境運行報錯,換了 CommonMark 使用,這個(gè)在 Nuget 上能找到。

最終的最終,把所有資源都打包進(jìn)了資源文件,用 ILMerge 合并程序集,你的服務(wù)端就只剩下一個(gè) EXE 了,滑稽 →_→

国产精品成人午夜电影| 精品精品国产欧美在线观看| 免费无删减在线观看| 亚洲区综合区小说区激情区| 人人澡人人超碰小说| 欧美日本免费在线一| 亚洲欧美日韩精品久久| 中文字幕乱码一二三四区| 亚洲成色7777在线观看| 在线不卡日本v二区| 亚洲湿啊啊啊视频| 亚洲精品自产拍在线| 亚洲国产高清av| 精品国产永久观看在线| 中文字幕亚洲色妞精品天堂| 中文字幕无码乱人伦| 无码精品国产一区二区三区免费| 亚洲高清乱码av在线播放| 一本大道香蕉久在线播放看| 无码免费视频一区二区三区| 在线观看不卡的免费av网站| 亚洲国产高清自拍app| 无码国产精品一区二区免费13| 亚洲成av人片在线观看| 无码人妻精品一区二区麻豆| 亚洲国内自拍欧美一区二区三区| 亚洲午夜性春猛交xxxx| 国产在线观看免费视频软件| 亚洲综合久久精品哦夜夜嗨| 丁香花电影高清在线观看完整版| 日本最新在线一区二区| 在线观看不卡av| 亚洲精品TV久久久久久久久久| 中文一区在线免费播放| 亚洲精品无码久久久久去q| 亚洲欧美自拍一区| 在线看欧美三级中文经典| 亚洲嫩模吧粉嫩粉嫩冒白浆| 亚洲精品美女一区二区| 久久中文字幕亚洲综合| 亚州中文字幕无码在线观看| 亚洲av午夜福利精品一区不卡| 中国中年女人色av| 欧美一级特黄大片做受在线观看| 国产热a欧美热a在线视频| 国产欧美一区二区三区在线看| 亚洲国产精品网站| 亚洲愉拍自拍欧美精品APP| 在线国产福利网址| 韩国三级香港三级日本三级la| 亚洲精品色播一区二区| 在线观看香蕉免费啪在线观看| 亚洲精品午夜国产va久久| 在线观看直播视频在线观看| 亚洲精品aⅴ中文字幕乱码综合| 亚洲精品午夜久久久伊人| 成人国产片视频在线观看| 国产SUV精品一区二区6| 亚洲一级毛片免费在线观看| 亚洲国产精品成人久久综合影院| 国产无遮挡A片又黄又爽小直播| 亚洲国产一区二区三区四区四季| 99av成人精品国语自产拍| 97久人人做人人妻人人玩精品| 亚洲精品乱码久久久久66| 综合久久中文字幕人妻| 又黄又爽又无遮挡国产| 精品综合一区二区在线观看| 精品国产污污免费网站入口在线| 欧美国产激情二区三区蜜月| 最新中文字幕在线视频| 中文字幕亚洲中文字幕无码码| 亚洲熟妇少妇任你躁在线又见| 一级特黄大片久久| 亚洲丝袜日韩国产欧美| 中文字幕影片第一页| 欧美国产成人精品一区二区| 欧美激情精品视频一区| 伊人久久大香线蕉综合| 亚洲精品国产乱码久久久人妻| 国产精品视频一区二区三区无码| 性色av极品无码专区亚洲| 色一情一乱一伦一区二区三欧美| 亚洲欧美日韩国产综合| 人人爱人人草人人做图片素材下载| 亚洲色无码国产精品网站可下载| 亚洲国产精品美女久久久| 亚洲熟妇av乱码在线观看| 国产性色AV高清在线观看| 亚洲日韩在线观看一区二区三区| 亚洲欧美黄色站在线观看| 亚洲欧美日韩偷拍综合一区| 亚洲天天久久中文字幕精品| 中文字幕国产在线观看| 中国一级毛片免费高清| 人妻人人揉人人躁人人A片| 成人无码精品网站产| 亚洲日本在线播放| 亚洲性日韩精品一区二区三区| 亚洲欧美日韩国产综合一区二区| 日韩亚洲一中文字幕| 亚洲AV无码专区在线播放中文| 日韩最黄的视频视色网站| 久久视频这里只精品3国产| 中文字幕无码专区人妻制服| 97在线视频人妻无码| 亚洲国产一区二区A毛片| 国产日韩精品一区二区三区| 精品久久毛片免费观看| 中文字幕亚洲综合| 欧美激情一区二区久久久| 99蜜桃在线观看免费视频网站| 亚洲精品无码鲁网中文电影| 亚洲欧美精品综合久久。| 亚洲欧美另类成人综合图片| 又黄又爽又无遮挡国产| 亚洲人成网站在线播放动漫| 精品香蕉99久久久久网站| 亚洲AV无码成人精品区| 亚洲高清一区二区三区不卡| 亚洲第一黄色网引领潮流风向| 欧美三级午夜理伦三级老人| 亚洲国产欧美久久| 91网国产在线观看| 色婷婷我也去俺也去| 亚洲аv电影在线观看| 久久国产精品免费一区下载| 亚洲人成色777777精品| 中文字幕版手机在线播放| 亚洲成av人片无码不卡播放器| 亚洲区精品区日韩区综合区| 亚洲精品卡卡一卡二在线播放| 又湿又紧又大又爽A视频男| 亚洲精品无码av人在线播放| 亚洲人妻激情小说| 亚洲亚洲日韩在线| 男人的av一区二区资源| 亚洲va欧美va天堂v国产综合| 亚洲欧美日韩中文字幕久久| 国产精品中文久久久久久久| 一区二区免费国产在线| 无码高潮喷水在线国产| 国产野战一级片在线观看| 亚洲一区二区三区四区五区六区| 又粗又爽又狠的黄片播放| 精品视频中文字幕在线| 亚洲中文日韩欧美综合版| 亚洲婷婷五月激情综合V84| 色外桃园波多野结衣中文无码| 亚洲国产成人精品一级片| 免费久久99精品国产婷婷六月| 无码人妻精品一区二区三区东京热| 中文字幕aV日韩精品一区二区| 中文字幕人妻少妇av| 亚洲成年av男人的| 亚洲自拍欧美综合另类| 亚洲av日韩综合一区二区三区| 国产大片免费天天看| 久久久夜色精品国产噜噜亚洲av| 亚洲AV色噜噜男人的天堂| 亚洲男女内射在线播放| 亚洲香蕉中文日韩v日本| 国产精品一区久久一区| 一区二区三区四区在线不卡高清| 伊人不卡久久大香线蕉综合| 亚洲A∨午夜成人片精品网站| 亚洲成色www久久网站瘦与人| 亚洲人午夜射精精品日韩| 国产精品亚亚洲欧关中字幕| 亚洲综合色婷婷六月丁香宅男大增| 亚洲爆乳aaa无码专区| 亚洲成a人v欧美综合天堂麻豆| 一区二区三区精品国产欧美| 中文字幕av每日更新| 国产超碰97人人做人人爱| 中文字幕一区二区三区西施Av| 日韩欧美一区二区三区| 亚洲精品久久久久中文字幕二区| 成人AV片无码免费网站| 亚洲精品无码久久久久久久久| 日韩精品免费无码专区| 精品国产中文字幕在线视频| 成人综合亚洲日本一区二区| 日韩精品另类天天更新影院| 亚洲精品一区中文字幕乱码| 亚洲精品av久久久久久| 中文字幕无码精品亚洲35| 狠狠色丁香婷婷综合| 国产啪精品天天看天天狠| 亚洲乱码日产精品bd在线看| 中文字幕日韩欧美| 中文字幕免费观看av| 亚洲精品欧美日韩国产综合在线| 亚洲成aⅴ人片乱码色午夜| 亚洲欧美日韩一区二区三区四区| 精品国产日韩一区三区| 中文在线免费观看| 国产69精品久久久久99尤物| 中文字幕制服丝袜无码乱码资讯| 日韩精品一区二区在线视频| 亚洲国产精品一区二区第一页| 精品久久久久久中文字幕女| 国产综合视频在线观看| 亚洲人成影视在线观看| 亚洲aV性色在线观看无码| 国产国产人免费人成成免视频| 亚洲久热无码中文字幕人妖| 免费无码av片在线观看播放| 在线国产自偷自拍视频| 在线视频一二三区| 一本到dvd无码中字在线| 免费三级现频在线观看免费| 国产三级精品三级在线| 亚洲中文字幕一区二区三区| 久久精品国产亚洲一区二区| 亚洲精品无码午夜福利理论片| 综合AV人妻一区二区三区| 波多野结衣中文字幕一区二区三| 中文天堂最新版在线观看| 亚洲福利视频网站| 亚洲一二三四区中文字幕| 亚洲ww国产a大作| 中文字幕在线观看不卡第一页| 在线播放中文字幕| 综合中文高清三级| 色综合久久88色综合天天| 99久久国产综合精品女| 一级做A爰片久久毛片人呢| 亚洲欧美在线综合色影视| 国产精品99久久久久久四虎| 香港三级片在线看| 一区二区三区久久午夜免费电影| 亚洲区一区二区三区| 一本道无码免费中出系列| 无码专区国产精品视频| 一本狠狠色丁香婷婷综合久久| 最新中文字幕在线观看| 免费无遮挡无码视频在线影院| 亚洲乱码卡一卡二卡新区仙踪木木| 亚洲午夜无码久久久久| 亚洲国产精品国自产拍AV色欲| 一本大道香蕉久在线播放看| 久久精品国产av网站| 中文字幕Av在线综合网| 无码专区在线观看韩国| 久久久久亚洲aV无码专区电影| 无遮挡免费高清羞羞视频| 亚洲精品一区二区视频| 国产精品福利自产拍在线观看| 亚洲日本波多野结衣| 无码精品国产一区二区免费| 亚洲AV鲁丝一区| 亚洲国产欧美国产综合一区| 一级片年人免费看视频| 亚洲囯产精品一区二区www| 欧美一级va在线视频免费播放| 亚洲αv在线观看天堂| 亚洲午夜精品区午夜亚洲| 一级毛片亚洲图片| 国产精品72免费观看| 亚洲最大成人av在线天堂网| 一区二区三区不卡视频| 亚洲综合欧美日本另类激情| 一区中文字幕在线日本| 亚洲男人的天堂在线n| 亚洲精品制服丝袜中文| 99热这里只有精品三区| 亚洲精品AⅤ无码精品| 亚洲AⅤ永久无码无人区| 久久九九精品国产综合喷水| 最新精品视频在线观看| 久久久久99精品成人片三人毛片| 一级毛片在线播放全部| 精品久久久久成人码免费动漫| 欧美一区二区不卡放荡的寡妇| 国产成人永久免费av在线| 亚洲国产aⅴ成人精品无吗| 国产成人福利视频网站| 韩国精品一区二区无码视频| 亚洲欧美中文日韩乱伦不卡视频| 伊人久久婷婷综合五月97色| 亚洲人成电影网站色www| 欧美日韩激情无码专区| 国产精品多人P群无码| 中文字幕乱码人妻二区三区| 在线看片无码永久| 亚欧洲大片精品免费观看视频|