日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

手把手教你实现一个 JSON 解析器!

發布時間:2025/3/21 javascript 69 豆豆
生活随笔 收集整理的這篇文章主要介紹了 手把手教你实现一个 JSON 解析器! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 背景

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。相對于另一種數據交換格式 XML,JSON 有著諸多優點。比如易讀性更好,占用空間更少等。

在 web 應用開發領域內,得益于 JavaScript 對 JSON 提供的良好支持,JSON 要比 XML 更受開發人員青睞。所以作為開發人員,如果有興趣的話,還是應該深入了解一下 JSON 相關的知識。

本著探究 JSON 原理的目的,我將會在這篇文章中詳細向大家介紹一個簡單的JSON解析器的解析流程和實現細節。

由于 JSON 本身比較簡單,解析起來也并不復雜。所以如果大家感興趣的話,在看完本文后,不妨自己動手實現一個 JSON 解析器。 好了,其他的話就不多說了,接下來讓我們移步到重點章節吧。

2. JSON 解析器實現原理

JSON 解析器從本質上來說就是根據 JSON 文法規則創建的狀態機,輸入是一個 JSON 字符串,輸出是一個 JSON 對象。一般來說,解析過程包括詞法分析和語法分析兩個階段。

詞法分析階段的目標是按照構詞規則將 JSON 字符串解析成 Token 流,比如有如下的 JSON 字符串:

{"name"?:?"小明","age":?18 }

結果詞法分析后,得到一組 Token,如下:

{、 name、 :、 小明、 ,、 age、 :、 18、 }

詞法分析解析出 Token 序列后,接下來要進行語法分析。語法分析的目的是根據 JSON 文法檢查上面 Token 序列所構成的 JSON 結構是否合法。

比如 JSON 文法要求非空 JSON 對象以鍵值對的形式出現,形如?object = {string : value}。如果傳入了一個格式錯誤的字符串,比如:

{"name",?"小明" }

那么在語法分析階段,語法分析器分析完 Token name后,認為它是一個符合規則的 Token,并且認為它是一個鍵。請不要在 JDK 7+ 中使用這個 JSON 包了!這篇看下。

接下來,語法分析器讀取下一個 Token,期望這個 Token 是?:。但當它讀取了這個 Token,發現這個 Token 是,,并非其期望的:,于是文法分析器就會報錯誤。

這里簡單總結一下上面兩個流程,詞法分析是將字符串解析成一組 Token 序列,而語法分析則是檢查輸入的 Token 序列所構成的 JSON 格式是否合法。這里大家對 JSON 的解析流程有個印象就好,接下來我會詳細分析每個流程。

2.1 詞法分析

在本章開始,我說了詞法解析的目的,即按照“構詞規則”將 JSON 字符串解析成 Token 流。請注意雙引號引起來詞--構詞規則,所謂構詞規則是指詞法分析模塊在將字符串解析成 Token 時所參考的規則。

在 JSON 中,構詞規則對應于幾種數據類型,當詞法解析器讀入某個詞,且這個詞類型符合 JSON 所規定的數據類型時,詞法分析器認為這個詞符合構詞規則,就會生成相應的 Token。

這里我們可以參考http://www.json.org/對 JSON 的定義,羅列一下 JSON 所規定的數據類型:

  • BEGIN_OBJECT({)

  • END_OBJECT(})

  • BEGIN_ARRAY([)

  • END_ARRAY(])

  • NULL(null)

  • NUMBER(數字)

  • STRING(字符串)

  • BOOLEAN(true/false)

  • SEP_COLON(:)

  • SEP_COMMA(,)

當詞法分析器讀取的詞是上面類型中的一種時,即可將其解析成一個 Token。我們可以定義一個枚舉類來表示上面的數據類型,如下:

public?enum?TokenType {BEGIN_OBJECT(1),END_OBJECT(2),BEGIN_ARRAY(4),END_ARRAY(8),NULL(16),NUMBER(32),STRING(64),BOOLEAN(128),SEP_COLON(256),SEP_COMMA(512),END_DOCUMENT(1024);TokenType(int?code) {this.code = code;}private?int?code;public?int?getTokenCode()?{return?code;} }

在解析過程中,僅有 TokenType 類型還不行。我們除了要將某個詞的類型保存起來,還需要保存這個詞的字面量。所以,所以這里還需要定義一個 Token 類。用于封裝詞類型和字面量,如下:

public?class?Token?{private?TokenType tokenType;private?String?value;// 省略不重要的代碼 }

定義好了 Token 類,接下來再來定義一個讀取字符串的類。如下:

public?CharReader(Reader reader)?{this.reader = reader;buffer =?new?char[BUFFER_SIZE];}/*** 返回 pos 下標處的字符,并返回*?@return?*?@throws?IOException*/public?char?peek()?throws?IOException?{if?(pos -?1?>= size) {return?(char) -1;}return?buffer[Math.max(0, pos -?1)];}/*** 返回 pos 下標處的字符,并將 pos + 1,最后返回字符*?@return?*?@throws?IOException*/public?char?next()?throws?IOException?{if?(!hasMore()) {return?(char) -1;}return?buffer[pos++];}public?void?back()?{pos = Math.max(0, --pos);}public?boolean?hasMore()?throws?IOException?{if?(pos < size) {return?true;}fillBuffer();return?pos < size;}void?fillBuffer()?throws?IOException?{int?n = reader.read(buffer);if?(n == -1) {return;}pos =?0;size = n;} }

有了 TokenType、Token 和 CharReader 這三個輔助類,接下來我們就可以實現詞法解析器了。

public?class?Tokenizer?{private?CharReader charReader;private?TokenList tokens;public?TokenList?tokenize(CharReader charReader)?throws?IOException?{this.charReader = charReader;tokens =?new?TokenList();tokenize();return?tokens;}private?void?tokenize()?throws?IOException?{// 使用do-while處理空文件Token token;do?{token = start();tokens.add(token);}?while?(token.getTokenType() != TokenType.END_DOCUMENT);}private?Token?start()?throws?IOException?{char?ch;for(;;) {if?(!charReader.hasMore()) {return?new?Token(TokenType.END_DOCUMENT,?null);}ch = charReader.next();if?(!isWhiteSpace(ch)) {break;}}switch?(ch) {case?'{':return?new?Token(TokenType.BEGIN_OBJECT, String.valueOf(ch));case?'}':return?new?Token(TokenType.END_OBJECT, String.valueOf(ch));case?'[':return?new?Token(TokenType.BEGIN_ARRAY, String.valueOf(ch));case?']':return?new?Token(TokenType.END_ARRAY, String.valueOf(ch));case?',':return?new?Token(TokenType.SEP_COMMA, String.valueOf(ch));case?':':return?new?Token(TokenType.SEP_COLON, String.valueOf(ch));case?'n':return?readNull();case?'t':case?'f':return?readBoolean();case?'"':return?readString();case?'-':return?readNumber();}if?(isDigit(ch)) {return?readNumber();}throw?new?JsonParseException("Illegal character");}private?Token?readNull()?{...}private?Token?readBoolean()?{...}private?Token?readString()?{...}private?Token?readNumber()?{...} }

上面的代碼是詞法分析器的實現,部分代碼這里沒有貼出來,后面具體分析的時候再貼。

先來看看詞法分析器的核心方法 start,這個方法代碼量不多,并不復雜。其通過一個死循環不停的讀取字符,然后再根據字符的類型,執行不同的解析邏輯。

上面說過,JSON 的解析過程比較簡單。原因在于,在解析時,只需通過每個詞第一個字符即可判斷出這個詞的 Token Type。比如:

  • 第一個字符是{、}、[、]、,、:,直接封裝成相應的 Token 返回即可

  • 第一個字符是n,期望這個詞是null,Token 類型是NULL

  • 第一個字符是t或f,期望這個詞是true或者false,Token 類型是BOOLEAN

  • 第一個字符是",期望這個詞是字符串,Token 類型為String

  • 第一個字符是0~9或-,期望這個詞是數字,類型為NUMBER

正如上面所說,詞法分析器只需要根據每個詞的第一個字符,即可知道接下來它所期望讀取的到的內容是什么樣的。如果滿足期望了,則返回 Token,否則返回錯誤。

下面就來看看詞法解析器在碰到第一個字符是n和"時的處理過程。先看碰到字符n的處理過程:

private?Token?readNull()?throws IOException?{if?(!(charReader.next() ==?'u'?&& charReader.next() ==?'l'?&& charReader.next() ==?'l')) {throw?new?JsonParseException("Invalid json string");}return?new?Token(TokenType.NULL,?"null"); }

上面的代碼很簡單,詞法分析器在讀取字符n后,期望后面的三個字符分別是u,l,l,與 n 組成詞 null。如果滿足期望,則返回類型為 NULL 的 Token,否則報異常。readNull 方法邏輯很簡單,不多說了。

接下來看看 string 類型的數據處理過程:

private?Token?readString()?throws?IOException?{StringBuilder sb =?new?StringBuilder();for?(;;) {char?ch = charReader.next();// 處理轉義字符if?(ch ==?'\\') {if?(!isEscape()) {throw?new?JsonParseException("Invalid escape character");}sb.append('\\');ch = charReader.peek();sb.append(ch);// 處理 Unicode 編碼,形如 \u4e2d。且只支持 \u0000 ~ \uFFFF 范圍內的編碼if?(ch ==?'u') {for?(int?i =?0; i <?4; i++) {ch = charReader.next();if?(isHex(ch)) {sb.append(ch);}?else?{throw?new?JsonParseException("Invalid character");}}}}?else?if?(ch ==?'"') {?// 碰到另一個雙引號,則認為字符串解析結束,返回 Tokenreturn?new?Token(TokenType.STRING, sb.toString());}?else?if?(ch ==?'\r'?|| ch ==?'\n') {?// 傳入的 JSON 字符串不允許換行throw?new?JsonParseException("Invalid character");}?else?{sb.append(ch);}} }private?boolean?isEscape()?throws?IOException?{char?ch = charReader.next();return?(ch ==?'"'?|| ch ==?'\\'?|| ch ==?'u'?|| ch ==?'r'|| ch ==?'n'?|| ch ==?'b'?|| ch ==?'t'?|| ch ==?'f'); }private?boolean?isHex(char?ch)?{return?((ch >=?'0'?&& ch <=?'9') || ('a'?<= ch && ch <=?'f')|| ('A'?<= ch && ch <=?'F')); }

string 類型的數據解析起來要稍微復雜一些,主要是需要處理一些特殊類型的字符。JSON 所允許的特殊類型的字符如下:

\" \ \b \f \n \r \t \u?four-hex-digits \/

最后一種特殊字符\/代碼中未做處理,其他字符均做了判斷,判斷邏輯在 isEscape 方法中。在傳入 JSON 字符串中,僅允許字符串包含上面所列的轉義字符。如果亂傳轉義字符,解析時會報錯。

對于 STRING 類型的詞,解析過程始于字符",也終于"。所以在解析的過程中,當再次遇到字符",readString 方法會認為本次的字符串解析過程結束,并返回相應類型的 Token。

上面說了 null 類型和 string 類型的數據解析過程,過程并不復雜,理解起來應該不難。至于 boolean 和 number 類型的數據解析過程,大家有興趣的話可以自己看源碼,這里就不在說了。

關注微信公眾號:Java技術棧,在后臺回復:java,可以獲取我整理的 N 篇最新Java?教程,都是干貨。

2.2 語法分析

當詞法分析結束后,且分析過程中沒有拋出錯誤,那么接下來就可以進行語法分析了。語法分析過程以詞法分析階段解析出的 Token 序列作為輸入,輸出 JSON Object 或 JSON Array。

語法分析器的實現的文法如下:

object?= {} | { members } members?= pair | pair , members pair?= string : value array?= [] | [ elements ] elements?= value | value , elements value?= string | number | object | array |?true?|?false?| null

語法分析器的實現需要借助兩個輔助類,也就是語法分析器的輸出類,分別是 JsonObject 和 JsonArray。Java常用的幾個Json庫,性能強勢對比!這篇推薦看下。

代碼如下:

public?class?JsonObject?{private?Map<String, Object>?map?=?new?HashMap<String, Object>();public?void?put(String key, Object value)?{map.put(key, value);}public?Object?get(String key)?{return?map.get(key);}public?List<Map.Entry<String, Object>> getAllKeyValue() {return?new?ArrayList<>(map.entrySet());}public?JsonObject?getJsonObject(String key)?{if?(!map.containsKey(key)) {throw?new?IllegalArgumentException("Invalid key");}Object obj =?map.get(key);if?(!(obj instanceof JsonObject)) {throw?new?JsonTypeException("Type of value is not JsonObject");}return?(JsonObject) obj;}public?JsonArray?getJsonArray(String key)?{if?(!map.containsKey(key)) {throw?new?IllegalArgumentException("Invalid key");}Object obj =?map.get(key);if?(!(obj instanceof JsonArray)) {throw?new?JsonTypeException("Type of value is not JsonArray");}return?(JsonArray) obj;}@Overridepublic?String?toString()?{return?BeautifyJsonUtils.beautify(this);} }public?class?JsonArray?implements?Iterable?{private?List?list?=?new?ArrayList();public?void?add(Object obj)?{list.add(obj);}public?Object?get(int?index)?{return?list.get(index);}public?int?size()?{return?list.size();}public?JsonObject?getJsonObject(int?index)?{Object obj =?list.get(index);if?(!(obj instanceof JsonObject)) {throw?new?JsonTypeException("Type of value is not JsonObject");}return?(JsonObject) obj;}public?JsonArray?getJsonArray(int?index)?{Object obj =?list.get(index);if?(!(obj instanceof JsonArray)) {throw?new?JsonTypeException("Type of value is not JsonArray");}return?(JsonArray) obj;}@Overridepublic?String?toString()?{return?BeautifyJsonUtils.beautify(this);}public?Iterator?iterator()?{return?list.iterator();} }

語法解析器的核心邏輯封裝在了 parseJsonObject 和 parseJsonArray 兩個方法中,接下來我會詳細分析 parseJsonObject 方法,parseJsonArray 方法大家自己分析吧。

parseJsonObject 方法實現如下:

private?JsonObject?parseJsonObject()?{JsonObject jsonObject =?new?JsonObject();int?expectToken = STRING_TOKEN | END_OBJECT_TOKEN;String key =?null;Object?value?=?null;while?(tokens.hasMore()) {Token token = tokens.next();TokenType tokenType = token.getTokenType();String tokenValue = token.getValue();switch?(tokenType) {case?BEGIN_OBJECT:checkExpectToken(tokenType, expectToken);jsonObject.put(key, parseJsonObject());?// 遞歸解析 json objectexpectToken = SEP_COMMA_TOKEN | END_OBJECT_TOKEN;break;case?END_OBJECT:checkExpectToken(tokenType, expectToken);return?jsonObject;case?BEGIN_ARRAY:?// 解析 json arraycheckExpectToken(tokenType, expectToken);jsonObject.put(key, parseJsonArray());expectToken = SEP_COMMA_TOKEN | END_OBJECT_TOKEN;break;case?NULL:checkExpectToken(tokenType, expectToken);jsonObject.put(key,?null);expectToken = SEP_COMMA_TOKEN | END_OBJECT_TOKEN;break;case?NUMBER:checkExpectToken(tokenType, expectToken);if?(tokenValue.contains(".") || tokenValue.contains("e") || tokenValue.contains("E")) {jsonObject.put(key, Double.valueOf(tokenValue));}?else?{Long num = Long.valueOf(tokenValue);if?(num > Integer.MAX_VALUE || num < Integer.MIN_VALUE) {jsonObject.put(key, num);}?else?{jsonObject.put(key, num.intValue());}}expectToken = SEP_COMMA_TOKEN | END_OBJECT_TOKEN;break;case?BOOLEAN:checkExpectToken(tokenType, expectToken);jsonObject.put(key, Boolean.valueOf(token.getValue()));expectToken = SEP_COMMA_TOKEN | END_OBJECT_TOKEN;break;case?STRING:checkExpectToken(tokenType, expectToken);Token preToken = tokens.peekPrevious();/** 在 JSON 中,字符串既可以作為鍵,也可作為值。* 作為鍵時,只期待下一個 Token 類型為 SEP_COLON。* 作為值時,期待下一個 Token 類型為 SEP_COMMA 或 END_OBJECT*/if?(preToken.getTokenType() == TokenType.SEP_COLON) {value?= token.getValue();jsonObject.put(key,?value);expectToken = SEP_COMMA_TOKEN | END_OBJECT_TOKEN;}?else?{key = token.getValue();expectToken = SEP_COLON_TOKEN;}break;case?SEP_COLON:checkExpectToken(tokenType, expectToken);expectToken = NULL_TOKEN | NUMBER_TOKEN | BOOLEAN_TOKEN | STRING_TOKEN| BEGIN_OBJECT_TOKEN | BEGIN_ARRAY_TOKEN;break;case?SEP_COMMA:checkExpectToken(tokenType, expectToken);expectToken = STRING_TOKEN;break;case?END_DOCUMENT:checkExpectToken(tokenType, expectToken);return?jsonObject;default:throw?new?JsonParseException("Unexpected Token.");}}throw?new?JsonParseException("Parse error, invalid Token."); }private?void?checkExpectToken(TokenType tokenType,?int?expectToken)?{if?((tokenType.getTokenCode() & expectToken) ==?0) {throw?new?JsonParseException("Parse error, invalid Token.");} }

parseJsonObject 方法解析流程大致如下:

  • 讀取一個 Token,檢查這個 Token 是否是其所期望的類型

  • 如果是,更新期望的 Token 類型。否則,拋出異常,并退出

  • 重復步驟1和2,直至所有的 Token 都解析完,或出現異常

  • 上面的步驟并不復雜,但有可能不好理解。這里舉個例子說明一下,有如下的 Token 序列:

    {、?id、 :、?1、 }

    parseJsonObject 解析完?{?Token 后,接下來它將期待 STRING 類型的 Token 或者 END_OBJECT 類型的 Token 出現。于是 parseJsonObject 讀取了一個新的 Token,發現這個 Token 的類型是 STRING 類型,滿足期望。

    于是 parseJsonObject 更新期望Token 類型為 SEL_COLON,即:。如此循環下去,直至 Token 序列解析結束或者拋出異常退出。

    上面的解析流程雖然不是很復雜,但在具體實現的過程中,還是需要注意一些細節問題。比如:

    在 JSON 中,字符串既可以作為鍵,也可以作為值。作為鍵時,語法分析器期待下一個 Token 類型為 SEP_COLON。而作為值時,則期待下一個 Token 類型為 SEP_COMMA 或 END_OBJECT。

    所以這里要判斷該字符串是作為鍵還是作為值,判斷方法也比較簡單,即判斷上一個 Token 的類型即可。如果上一個 Token 是 SEP_COLON,即:,那么此處的字符串只能作為值了。否則,則只能做為鍵。

    對于整數類型的 Token 進行解析時,簡單點處理,可以直接將該整數解析成 Long 類型。但考慮到空間占用問題,對于?[Integer.MIN_VALUE, Integer.MAX_VALUE]范圍內的整數來說,解析成 Integer 更為合適,所以解析的過程中也需要注意一下。

    3. 測試及效果展示

    為了驗證代碼的正確性,這里對代碼進行了簡單的測試。測試數據來自網易音樂,大約有4.5W個字符。為了避免每次下載數據,因數據發生變化而導致測試不通過的問題。

    我將某一次下載的數據保存在了 music.json 文件中,后面每次測試都會從文件中讀取數據。

    關于測試部分,這里就不貼代碼和截圖了。大家有興趣的話,可以自己下載源碼測試玩玩。

    測試就不多說了,接下來看看 JSON 美化效果展示。這里隨便模擬點數據,就模擬王者榮耀里的狄仁杰英雄信息吧(對,這個英雄我經常用)。如下圖:

    關于 JSON 美化的代碼這里也不講解了,并非重點,只算一個彩蛋吧。

    4. 寫作最后

    到此,本文差不多要結束了。本文對應的代碼已經放到了 github 上,需要的話,大家可自行下載:https://github.com/code4wt/JSONParser。

    這里需要聲明一下,本文對應的代碼實現了一個比較簡陋的 JSON 解析器,實現的目的是探究 JSON 的解析原理。JSONParser 只算是一個練習性質的項目,代碼實現的并不優美,而且缺乏充足的測試。

    同時,限于本人的能力(編譯原理基礎基本可以忽略),我并無法保證本文以及對應的代碼中不出現錯誤。如果大家在閱讀代碼的過程中,發現了一些錯誤,或者寫的不好的地方,可以提出來,我來修改。如果這些錯誤對你造成了困擾,這里先說一聲很抱歉。

    最后,本文及實現主要參考了一起寫一個JSON解析器和如何編寫一個JSON解析器兩篇文章及兩篇文章對應的實現代碼,在這里向著兩篇博文的作者表示感謝。好了,本文到此結束,祝大家生生活愉快!再見。

    作者:田小波

    www.cnblogs.com/nullllun/p/8358146.html

    參考

    一起寫一個JSON解析器?

    http://www.cnblogs.com/absfree/p/5502705.html?

    如何編寫一個JSON解析器?

    https://www.liaoxuefeng.com/article/994977272296736?

    介紹JSON?

    http://json.org/json-zh.html?

    寫一個 JSON、XML 或 YAML 的 Parser 的思路是什么?www.zhihu.com/question/24640264/answer/80500016

    總結

    以上是生活随笔為你收集整理的手把手教你实现一个 JSON 解析器!的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    91手机电影| av福利在线免费观看 | 日韩另类在线 | 日本性xxx | 成人午夜片av在线看 | 992tv在线| 九九热精品视频在线播放 | 91成人网在线观看 | 国产在线精品一区二区 | 天天操综合网 | 中文字幕国产亚洲 | 中文字幕亚洲欧美 | 996久久国产精品线观看 | www.夜夜爱| 日一日操一操 | 天天弄天天操 | 亚洲精品国产精品乱码不99热 | 不卡中文字幕av | 国产91精品一区二区麻豆网站 | 亚洲v精品| 成人免费xyz网站 | 久久久久久久久网站 | 97碰碰视频 | 中文字幕乱码电影 | 欧美一区二区三区在线 | 五月婷婷亚洲 | 亚洲高清在线 | 婷婷久久五月天 | 最近日韩中文字幕中文 | 久久精品播放 | 日韩欧美在线观看一区 | 久久理论片 | 99福利影院 | 国产视频99 | 青青视频一区 | 蜜臀av夜夜澡人人爽人人 | 中文字幕精品三级久久久 | 久久精品牌麻豆国产大山 | 日韩欧美高清一区二区三区 | 欧美中文字幕第一页 | 99免费看片 | 欧美日韩一区二区在线观看 | 久久精品国产一区二区电影 | 亚洲国产三级在线观看 | 国产麻豆精品久久 | 一区二区三区av在线 | 综合久久综合久久 | 色婷婷www| 亚洲欧美国产视频 | 视频在线国产 | 日本一区二区三区免费看 | 99se视频在线观看 | 色婷婷狠狠操 | 国产免费区 | 人人澡人 | 精品国产精品国产偷麻豆 | 97成人免费| 久久99热这里只有精品 | 国产成人在线免费观看 | 精品久久一区二区 | 最近中文字幕免费 | 国产视频1| 成人精品久久久 | 91亚洲欧美 | 国产精品不卡 | 国产国产人免费人成免费视频 | 亚洲一区视频免费观看 | 中文字幕一区三区 | 黄色三级网站在线观看 | 亚州av网站 | 久久爱影视i | 色视频在线观看免费 | 久久久久国产一区二区三区四区 | 国产精品国产三级国产不产一地 | 精品久久久久久亚洲综合网 | 九九精品久久久 | 国产精品久久久久av福利动漫 | 日韩av免费网站 | 日韩欧美中文 | 国产成人久久精品一区二区三区 | 美州a亚洲一视本频v色道 | 久久久香蕉视频 | 国产精品久久久久9999 | 日韩啪啪小视频 | 在线视频第一页 | 欧美激情视频免费看 | 中文字幕黄色网址 | 精品国产一区二区三区在线观看 | 久久超级碰视频 | 欧美日韩视频在线 | 特级毛片在线 | 91人人澡人人爽 | 精品国产乱码 | 色 中文字幕| 国产精品久久久精品 | 欧美影片 | 香蕉精品视频在线观看 | 96久久精品| 亚洲午夜久久久久久久久电影网 | 色福利网站 | 国产亚洲精品无 | 国产精品一区二区三区电影 | 亚洲午夜av久久乱码 | 精品久久久999 | 91精品国产综合久久福利不卡 | 色婷婷国产精品 | 天天综合久久综合 | 欧美另类激情 | 国产精品伦一区二区三区视频 | 在线色吧 | 国产一区二区在线免费观看 | 亚洲aaa级| 欧美日韩一区二区免费在线观看 | 免费日韩三级 | 天堂av一区二区 | 色伊人网 | 久久精品导航 | 国产精品免费观看网站 | 精品国产电影一区 | 蜜臀精品久久久久久蜜臀 | 中文字幕在线视频免费播放 | 亚洲一区二区三区91 | 亚洲精品视频在线免费播放 | 久草视频99 | 在线观看成人毛片 | 午夜视频在线观看一区 | 久久九九久久精品 | 91视频高清 | 久久久精品 一区二区三区 国产99视频在线观看 | 00av视频| 国产成人精品不卡 | 日韩一片| 在线观看完整版免费 | 久久精品—区二区三区 | 国产精品第一视频 | 国产黄大片| 最近中文字幕免费观看 | 成人手机在线视频 | 五月婷婷天堂 | 久久精品网站免费观看 | 日韩欧美国产成人 | 国产福利av | 久久夜夜操 | 日韩三级久久 | 国产亚洲情侣一区二区无 | 最新国产精品亚洲 | 久久国产精品99久久久久久进口 | 国产大尺度视频 | 久草免费新视频 | 国产亚洲欧洲 | 精品免费 | 最近中文字幕mv | 狠狠干综合 | 黄色成人av在线 | 色综合天天综合 | 在线 欧美 日韩 | 精品久久一区二区 | 国产亚洲片| 开心丁香婷婷深爱五月 | 91在线免费看片 | 九九在线免费视频 | 中文字幕在线免费看线人 | 国产精品美女久久久久久久 | 国产视频在线播放 | 久久国产精品影片 | 久精品视频 | 国内成人精品2018免费看 | 久久综合亚洲鲁鲁五月久久 | 亚洲欧美日韩在线一区二区 | 99这里只有 | 精品免费99久久 | 亚洲国产成人精品在线观看 | 四虎www.| 国产一级黄色免费看 | 丁香5月婷婷 | 91福利影院在线观看 | 欧美一区二区伦理片 | 国产麻豆精品一区二区 | 欧美a级一区二区 | 欧美精品九九99久久 | 一区二区三区四区在线免费观看 | 国产99久久九九精品免费 | 手机av看片 | wwxxx日本| 久久av中文字幕片 | 成人久久久久 | 免费亚洲视频在线观看 | 久久精品国产一区二区三区 | 久久久高清一区二区三区 | 亚洲成a人片77777kkkk1在线观看 | 久久精品视频在线看 | 黄色三级网站 | 就要干b| 狠狠操电影网 | 国产传媒一区在线 | 久久不射电影网 | 中文字幕免费播放 | 国产国产人免费人成免费视频 | 成人免费在线看片 | 欧美一区二区在线免费观看 | 在线观看免费国产小视频 | 天天操网 | 亚洲精品97 | 欧美日韩国产一区二 | 国产日产av| 亚洲黄色激情小说 | 激情视频在线观看网址 | 国产免费一区二区三区最新 | 92国产精品久久久久首页 | 国产一区二区成人 | 亚洲黄色片在线 | 欧美日韩亚洲在线观看 | 久久五月婷婷丁香 | 天天操天 | 日韩久久激情 | 国产一级片免费观看 | 91麻豆精品国产91久久久无限制版 | 欧美日韩精品在线视频 | 97精品国产91久久久久久久 | 精品国产电影 | 色天天中文 | 久久久久国产精品www | 九色最新网址 | 免费视频一二三 | 日韩激情小视频 | 国产免费大片 | 波多野结衣电影一区二区 | 国产精品白浆视频 | 天天操天天干天天综合网 | 久久成人综合视频 | 欧美国产精品久久久久久免费 | 欧美一区,二区 | 久久久久女人精品毛片九一 | 激情综合网在线观看 | 中文字幕资源站 | 亚洲国产精品久久久 | 黄色小说免费在线观看 | 国产经典av | 久久久久亚洲精品男人的天堂 | 久久久精品高清 | 天天干夜夜爱 | 伊人天天狠天天添日日拍 | 天天色天天搞 | 亚洲一二三区精品 | 国产福利在线免费 | 国产精品久久av | 日韩欧美视频一区二区三区 | 一区二区三区免费在线观看 | 黄色小视频在线观看免费 | 久久一久久 | 午夜av免费观看 | 手机成人在线电影 | 欧美激情va永久在线播放 | 国产精品18久久久久vr手机版特色 | 开心激情五月网 | 亚洲理论在线 | 美女国产 | 成人在线超碰 | 丁香五月亚洲综合在线 | 有码中文字幕 | 亚洲精品xx | 欧美精品久久久久a | 在线观看理论 | 日韩国产欧美在线播放 | 国产破处在线视频 | 国产日韩欧美精品在线观看 | 99久久久久免费精品国产 | 欧美一区二区三区在线视频观看 | 日韩免费福利 | 黄色一级在线视频 | 欧美va电影 | 西西444www大胆高清视频 | 伊人看片| 亚洲精品视频一二三 | 日日干影院| 人人搞人人爽 | 国产精品夜夜夜一区二区三区尤 | 人人干人人添 | 日日干美女 | 国产高清视频免费 | 日韩a在线播放 | 一区二区三区在线电影 | 精品91视频 | 911香蕉 | 日本韩国中文字幕 | 91成人观看 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 久草在线久 | 人人爽人人射 | 毛片网免费 | 欧美精品国产综合久久 | 国产成人三级在线 | 免费观看全黄做爰大片国产 | 欧美成年黄网站色视频 | 免费黄在线观看 | 91精品在线观看入口 | 在线观看视频国产一区 | 成年人在线观看免费视频 | 久久精品国产免费 | 欧美ⅹxxxxxx | 日韩精品aaa | 欧美日韩三区二区 | 日韩精品免费在线播放 | 国产日韩精品在线观看 | 久久不卡电影 | 欧美 亚洲 另类 激情 另类 | 精品国产成人 | 国产又粗又猛又色又黄网站 | 久久91久久久久麻豆精品 | 亚洲精品白浆高清久久久久久 | 91漂亮少妇露脸在线播放 | 免费在线观看中文字幕 | 国产最新精品视频 | av在线一二三区 | 中文字幕在线播放日韩 | 欧美在线一级片 | 久久久久久福利 | 欧美a级在线 | 99久久精品国产观看 | 91视频免费观看 | 超碰在线最新地址 | 欧美激情精品 | 高清av免费观看 | 97成人精品视频在线播放 | 在线观看麻豆av | 国产成人一区二区三区影院在线 | 国产只有精品 | 色视频网站在线 | 亚洲第一中文字幕 | 天天操天天干天天干 | www.久久久精品 | 久久亚洲美女 | 伊人色综合网 | 日韩字幕在线 | 国产精品99久久久久久人免费 | 狠狠色狠狠色综合日日小说 | 国产一二三四在线视频 | 伊人婷婷色 | 日韩一级成人av | 国产福利一区在线观看 | 午夜精品一区二区三区在线播放 | 国产91区| 天天天天射 | 天天做天天爱天天爽综合网 | 国产xx视频 | 特级西西444www高清大视频 | 菠萝菠萝在线精品视频 | 欧美精品久久久久性色 | 久久久久久久久免费 | 五月婷婷激情六月 | 婷婷伊人五月天 | 国产在线视频一区二区 | 五月天激情开心 | 久久精品这里都是精品 | 免费av的网站 | 91中文在线视频 | 91精品视频在线免费观看 | 99免费在线视频观看 | 国产在线毛片 | 成年人网站免费在线观看 | 在线观看国产永久免费视频 | 亚洲第一香蕉视频 | 久草9视频| 人人爽人人爽人人爽学生一级 | 91伊人| 97福利在线 | 国产精品精品久久久久久 | 欧美男男激情videos | av成人亚洲 | 国产免费国产 | 亚洲 精品在线视频 | 人人射人人澡 | 去干成人网 | 久草在线免费在线观看 | 日本久久中文字幕 | a精品视频 | 久久久久国产成人精品亚洲午夜 | 精品国产免费看 | 美女网站黄免费 | 免费在线成人av电影 | 国产最新在线观看 | 毛片二区| a色视频 | 99久久99久久精品免费 | 手机在线小视频 | 91高清免费 | 91精品国产三级a在线观看 | 亚州精品一二三区 | www久| 亚洲涩涩网站 | 日韩av视屏在线观看 | av大片免费看 | a天堂中文在线 | 特级西西人体444是什么意思 | 丁香婷婷综合色啪 | 国产精品美女久久久久久久久久久 | 97视频免费观看2区 亚洲视屏 | av在线一级 | 色婷久久| 国产大片免费久久 | 麻豆91在线播放 | 久草视频在线看 | 日韩视频在线不卡 | 超碰在线97国产 | 美女免费黄视频网站 | 日韩精品首页 | 在线免费观看视频一区 | aaa日本高清在线播放免费观看 | av在线电影网站 | 日韩高清精品免费观看 | 91看片在线观看 | 亚洲黄网站 | 日日综合 | a级国产片| 最新中文在线视频 | 国产淫片| 成人黄色在线观看视频 | www91在线 | 黄色成年网站 | 日本久久精 | 99综合视频 | 中文字幕一区二区在线播放 | 激情久久影院 | 99久久久免费视频 | 精品理论片 | 91成人小视频 | 九九色综合 | 欧洲色综合 | 精品亚洲视频在线 | 免费观看黄色12片一级视频 | 国产日产精品久久久久快鸭 | 亚洲成av人电影 | 久久性生活片 | 国产综合91 | 麻豆影视网站 | 欧美黄在线 | 久草视频中文在线 | 成人9ⅰ免费影视网站 | 精品主播网红福利资源观看 | 麻豆免费在线播放 | 成人小视频免费在线观看 | 欧美一级日韩免费不卡 | 亚洲a色| 亚洲va欧洲va国产va不卡 | 国产黄色免费在线观看 | 毛片网站在线观看 | 国产成人久久久久 | 亚洲婷婷在线 | 久久久久久久久久久久影院 | 91精品国产亚洲 | 丁香九月婷婷 | 青青草国产精品 | 五月激情六月丁香 | 欧美性极品xxxx做受 | 98久久 | 久久久久国产精品一区二区 | 一区二区三区免费在线观看 | 亚洲精品国产精品国自产观看浪潮 | www激情久久 | 国产黄色片免费看 | 久久久网页 | 免费在线成人av电影 | 欧美精品一区二区在线观看 | 超碰97人人射妻 | 欧美日韩色婷婷 | 国产精品国产三级国产不产一地 | av久久在线| 国产精品人成电影在线观看 | 久久成人黄色 | 久久综合狠狠综合 | 男女免费视频观看 | 免费福利在线 | 国产最顶级的黄色片在线免费观看 | 女女av在线| 99精品热视频 | 99精品久久99久久久久 | 精品自拍网 | 成人黄在线观看 | 97人人超碰在线 | 日本黄色黄网站 | 99欧美视频| 中文在线最新版天堂 | 夜夜操天天 | 色综合中文综合网 | 激情久久网 | 黄色大片免费播放 | 91福利小视频 | 日韩欧美在线免费观看 | 国产精品尤物视频 | 成+人+色综合 | 蜜臀久久99精品久久久无需会员 | 四虎欧美 | 久久影视网 | 亚洲香蕉在线观看 | 国内精品免费久久影院 | 亚洲欧美日韩国产一区二区 | 久久久久久久精 | 国产小视频在线观看免费 | 成人免费观看大片 | 国产资源精品 | 五月天天色 | 欧美a在线看 | 麻豆一区二区三区视频 | 久青草视频在线观看 | 97人人爽人人| 久久久久国 | 手机在线看a | 国产精品第一页在线观看 | 成人在线视频在线观看 | 国产96在线观看 | 久久综合视频网 | 免费一级特黄毛大片 | 午夜精品久久久久久久久久久 | 91九色丨porny丨丰满6 | 日韩美av在线 | 黄色特一级片 | 国产精品网在线观看 | 国产精品成人av久久 | 中文字幕精品一区久久久久 | 国产精品一区二区久久精品爱微奶 | 一区二区三区在线影院 | 91成人精品在线 | 亚洲电影影音先锋 | 日本色小说视频 | 日韩欧美一区视频 | 一级性生活片 | 日韩美女一级片 | 韩国精品在线观看 | 国产精品观看在线亚洲人成网 | 狠狠色网| 韩国中文三级 | 亚洲视频 在线观看 | 探花视频在线观看免费 | 在线免费观看黄网站 | 黄色成人在线网站 | 天天干天天操天天操 | 91成人精品视频 | 亚洲一区二区天堂 | 91av在线精品 | 亚州精品天堂中文字幕 | 国产精品免费观看网站 | 天天色天天综合 | 亚洲欧美日韩精品一区二区 | 欧美精品日韩 | 91探花国产综合在线精品 | 久久国产精品免费一区 | 999久久久久久 | www.夜夜夜| www.久久视频 | 4438全国亚洲精品观看视频 | 高清视频一区二区三区 | 99久久久久久国产精品 | 精品视频不卡 | 欧美视频在线观看免费网址 | 国产一区二区高清不卡 | 国产黄色片在线免费观看 | 久久精品视频免费 | 欧美久久久影院 | 亚洲精品视频久久 | 成人综合日日夜夜 | 欧美整片sss| 午夜视频不卡 | 国产精品一区一区三区 | 亚洲天堂香蕉 | 欧美成年黄网站色视频 | 99久久精品国产毛片 | 亚洲免费在线观看视频 | 一级片免费视频 | 在线观看视频国产一区 | 天天干夜夜擦 | 99免费在线观看 | 午夜视频免费在线观看 | 成人一区二区在线观看 | 欧美激情视频三区 | 亚洲夜夜综合 | 亚洲精品mv在线观看 | 欧美成人xxxx | 一区二区三区四区五区六区 | 激情视频区 | 色视频在线 | 国产精品久久久久一区二区三区共 | 亚洲精品2区| 亚洲精品国产精品国自产观看浪潮 | 五月天丁香 | 五月激情电影 | 久久国产精品二国产精品中国洋人 | 国产原创在线 | 天天视频亚洲 | 成人在线黄色电影 | 久久国产精品一区二区三区四区 | 午夜在线日韩 | 99视频一区 | 久久草精品 | 亚洲日本va午夜在线影院 | 亚洲国产精品免费 | 一区二区三区在线观看免费 | 国产精品高潮呻吟久久av无 | 欧美日韩国产精品一区二区亚洲 | 91麻豆精品国产91久久久久 | 在线播放日韩av | 亚洲午夜精 | 九九九在线观看 | 亚洲精品玖玖玖av在线看 | 亚洲精品综合在线观看 | 精品人妖videos欧美人妖 | 久久久久久综合 | 五月婷婷激情五月 | 亚洲国产精品影院 | 成人国产一区 | 4438全国亚洲精品在线观看视频 | 九九九热 | av午夜电影| 久二影院 | 91看片在线免费观看 | 亚洲色图 校园春色 | 97在线观看免费高清完整版在线观看 | 国产精品毛片一区 | 免费网站观看www在线观看 | 亚洲精品永久免费视频 | 国产在线中文字幕 | 日韩大片免费在线观看 | 国产精品美女久久久久久 | 久久成人国产精品免费软件 | 久久久久国产精品免费免费搜索 | 色综合小说 | 久草精品视频在线观看 | 六月丁香激情综合色啪小说 | 中文字幕av在线免费 | 91在线中文 | 国产区在线视频 | 丁香5月婷婷久久 | 国内外成人免费在线视频 | 婷婷综合久久 | 成人国产精品电影 | 激情五月婷婷 | 99久国产 | 亚洲精品在线免费看 | av3级在线 | 狠狠色噜噜狠狠狠狠2021天天 | 亚洲夜夜综合 | 成全免费观看视频 | 色综合久久88色综合天天 | 色噜噜在线观看视频 | 日本黄色片一区二区 | 午夜精品久久久 | 国产在线欧美在线 | 日韩视频一区二区在线观看 | 国产在线自| 精品国产一区二区三区在线观看 | www178ccom视频在线 | 日韩特级黄色片 | 在线亚州 | 伊人激情网 | 一区二区三区四区影院 | 久久久免费观看完整版 | 精品亚洲一区二区三区 | 性色av免费看 | 久久久久久久99 | 亚洲成av人片在线观看 | 亚洲精品视频在线免费 | 99在线播放 | 在线观看视频亚洲 | 免费看片色 | 成人免费网视频 | 国产在线高清视频 | 伊人天堂网 | 成年人在线免费看视频 | 日本女人的性生活视频 | 国产视频 亚洲精品 | 在线精品亚洲一区二区 | 日韩精品视频在线观看免费 | 99精品区| 91视频在线网址 | 国产一在线精品一区在线观看 | 中文字幕视频免费观看 | 中文字幕美女免费在线 | 日韩理论视频 | 亚洲视频综合在线 | 日本mv大片欧洲mv大片 | 日本久久久久久久久 | 久久久久国产精品免费免费搜索 | 免费看国产精品 | 午夜精品久久久久久久久久久久 | 亚洲午夜久久久久久久久电影网 | 日韩无在线 | 精品一区二区av | 午夜视频一区二区 | 黄色av一级片 | 五月香视频在线观看 | 日韩理论片在线 | 午夜视频导航 | 亚洲一区精品人人爽人人躁 | 国产精品久久久久久久久免费 | www.久久久com | 九九九在线观看 | 亚洲精品久久久久久久蜜桃 | 91视频3p| 偷拍久久久 | 国产资源免费在线观看 | 国产精品国产三级国产不产一地 | 亚洲最大av网站 | 九九热在线精品 | 精品一区电影 | 天天色天天爱天天射综合 | 黄色三级久久 | 国产在线久草 | 国产美女精品 | 久久精品国产亚洲精品2020 | 国产精品一区二区在线免费观看 | 日韩欧美大片免费观看 | 日韩精品中文字幕在线播放 | 五月婷婷激情网 | av青草 | 亚洲综合激情小说 | 在线黄网站 | 久久久国产精品久久久 | 亚洲乱码精品久久久久 | 久久综合成人网 | 97在线看 | 国产中文字幕精品 | 日韩欧美高清视频在线观看 | 国产成人精品午夜在线播放 | 久草在线手机视频 | 亚洲精品国| 婷婷综合亚洲 | 一区二区三区免费看 | 一区二区三区在线电影 | 麻豆传媒在线免费看 | 日韩大片免费在线观看 | 人人添人人澡人人澡人人人爽 | 98精品国产自产在线观看 | 久热电影| 免费在线电影网址大全 | 免费久久久 | 一区二区精品视频 | 亚州av网站 | 97福利在线观看 | 久久天天操 | 久久久精品 一区二区三区 国产99视频在线观看 | 日韩夜夜爽| 国产小视频你懂的在线 | 成人动漫精品一区二区 | 波多野结衣在线观看视频 | 国内精品久久久久影院男同志 | av在线免费在线观看 | 三级黄色在线观看 | 亚洲精品在线视频观看 | 久9在线 | 久久久久久久国产精品视频 | 婷五月天激情 | 国产精品午夜久久 | 欧美一级特黄aaaaaa大片在线观看 | 欧美福利视频 | 国产97视频 | 黄网站免费久久 | 狠狠操电影网 | 日韩av电影免费在线观看 | 婷婷国产精品 | 51精品国自产在线 | 精品国产乱码久久久久久浪潮 | 午夜国产福利在线 | 麻豆传媒视频在线免费观看 | 中文字幕日本电影 | 国产正在播放 | 午夜在线观看一区 | av免费看看| 亚洲免费激情 | 成年人黄色免费网站 | 免费麻豆 | 国产视频午夜 | 国产黄a三级三级三级三级三级 | 国产亚洲精品久久久久久无几年桃 | 精品一区精品二区 | 国产无套精品久久久久久 | 午夜黄网| 中日韩欧美精彩视频 | 色九九在线 | 久久蜜臀一区二区三区av | 91中文字幕视频 | 久久高清毛片 | 97电影手机| 一级黄色片在线观看 | 美女在线免费视频 | 玖玖视频精品 | 黄色av播放 | 中文字幕国产 | 四虎在线免费视频 | 2019天天干天天色 | a极黄色片 | 日本久久久久久 | 久草观看视频 | 国产在线精品国自产拍影院 | 天天操天天爱天天干 | 久久艹艹| 午夜av剧场| 精品亚洲欧美无人区乱码 | www.xxxx欧美 | 久久国产亚洲 | 麻豆免费在线视频 | 国产人成在线视频 | 欧美精品国产精品 | 日本aa在线| 五月开心综合 | 免费在线播放 | 美女免费视频黄 | 九草视频在线观看 | 婷婷av电影 | 久久a v电影 | 久久久久黄 | 久久精品视频18 | 日本中文字幕高清 | 五月天网页 | 丝袜足交在线 | 婷婷色网视频在线播放 | 国内精品久久久久久 | 日韩在线视频观看 | 国产精品嫩草在线 | 中文字幕电影在线 | 亚洲在线日韩 | 亚洲精品欧美精品 | 日本精品一区二区三区在线观看 | 成人免费在线播放视频 | www.av小说| 国产午夜精品一区二区三区 | 亚州国产精品 | 久草视频中文在线 | 91视频传媒 | 国产丝袜制服在线 | 国产性天天综合网 | 高潮毛片无遮挡高清免费 | 久久午夜免费视频 | 欧美国产日韩一区二区三区 | 黄网站大全 | 亚洲精品国产免费 | 亚洲一片黄 | 日韩电影中文字幕在线观看 | 免费网站黄色 | 欧美成人在线免费 | 成年人免费在线观看网站 | 91色亚洲| 超碰在线97观看 | 精品免费视频123区 午夜久久成人 | 久久电影网站中文字幕 | 亚州精品在线视频 | 天天天干天天射天天天操 | 亚洲欧洲成人 | www.av在线播放 | 91免费视频黄 | 黄色av一区| 中文字幕 欧美性 | 国产精品ssss在线亚洲 | 九九视频这里只有精品 | 国产精品麻豆免费版 | 在线视频1卡二卡三卡 | 91丨九色丨丝袜 | 久久久亚洲精品 | 欧美国产在线看 | 国产系列 在线观看 | 国产高清视频在线播放 | 中文字幕一区二区三区久久 | 国产69精品久久99不卡的观看体验 | 一区精品久久 | 精品久久久久久久久久久久久久久久久久 | 四虎国产精品成人免费4hu | 日本一区二区不卡高清 | 又黄又刺激的网站 | 久久精国产 | 97精品国产91久久久久久 | 亚州免费视频 | 日韩在线观看电影 | 国产精品成人自拍 | 国产精品精品国产婷婷这里av | 99精品久久久久久久 | 日本三级久久久 | 精品国产a| 在线观看中文字幕dvd播放 | 97国产视频 | 国内视频 | 亚洲婷婷丁香 | 狠狠干天天射 | 免费观看成人网 | 99久久精品国产亚洲 | 日韩av黄| 曰本免费av | 夜色成人av| 色婷婷综合成人av | 99精品国产兔费观看久久99 | 日韩欧美区 | 成人片在线播放 | 中文字幕在线字幕中文 | 天天色天天操天天爽 | 国内精品视频在线 | 亚洲资源在线观看 | 亚洲免费婷婷 | 日批视频在线 | 激情五月激情综合网 | 91在线观| 日日草av| 波多野结衣久久资源 | 国产片免费在线观看视频 | 成人黄色小说网 | 成年人精品 | 久久这里只有精品久久 | 在线播放精品一区二区三区 | 深爱激情站 | 欧美大jb | 国产精华国产精品 | 亚洲综合视频在线 | 免费一级片视频 | 国产精品正在播放 | 亚洲精品午夜久久久久久久久久久 | www.狠狠操 | 久久九九免费视频 | 天天天天天天天天操 | 狠狠干狠狠色 | 国产成人不卡 | 国产第一页在线观看 | 天天射天天干天天插 | 在线免费看黄网站 | 深夜男人影院 | 亚洲精品1234区 | 成人一区不卡 | 中文字幕亚洲欧美日韩 | 国产小视频在线免费观看 | 亚洲视频2 | 国产精品免费在线播放 | 国际av在线| 91精品久久久久久 | 一级黄色免费 | 亚洲情感电影大片 | 91麻豆精品国产91久久久使用方法 | 成人黄色在线观看视频 | 777xxx欧美| 久青草国产在线 | 黄色a级片在线观看 | 日日干天天干 | 91在线播放综合 | 免费三及片| 国产亚洲久久 | 免费人成在线观看网站 | av一级在线观看 | 水蜜桃亚洲一二三四在线 | 激情欧美在线观看 | 一二三区在线 | 999视频在线播放 | 美女黄色网在线播放 | 亚洲精品国偷拍自产在线观看蜜桃 | 日韩精品视频免费专区在线播放 | 亚洲精品网页 | 亚洲 成人 欧美 | 天天天综合 | 国产精品久免费的黄网站 | 能在线观看的日韩av | 蜜臀久久99精品久久久无需会员 | 狠狠色丁香婷综合久久 | 国产精品淫 | 曰本三级在线 | 国产精品视频最多的网站 | 久久久久日本精品一区二区三区 | 精品久久久久久久久久久久久 | 国产精品久久久久一区 | 天天操天天色天天射 | 视频一区二区精品 | 国产人成看黄久久久久久久久 | 日韩中文字幕免费视频 | 亚洲视频456 | av在线播放不卡 | 黄色在线免费观看网站 | 国产在线自 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 深爱激情五月综合 | 国产自偷自拍 | 草 免费视频 | 97成人在线观看视频 | 国产69熟 | 麻豆一二| 亚洲一区二区三区91 | 亚洲五月婷婷 | 一本色道久久综合亚洲二区三区 | 91在线精品观看 | 黄色大片日本 | 久久精品国产免费 | 深爱五月激情五月 | 久久精品黄 | 国产精品一区二区三区在线免费观看 | 狠狠的干狠狠的操 | 91在线观看视频网站 | 91成人蝌蚪 | 伊人五月综合 | 999亚洲国产996395 | 欧美日韩国产一区 | 国产亚洲视频中文字幕视频 | av黄色av| 欧美乱熟臀69xxxxxx | 在线a人v观看视频 | 欧美日韩视频在线观看免费 | 国产日韩精品在线观看 | 91在线播放综合 |