久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

构建 RESTful Web 服务

發布時間:2025/7/25 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 构建 RESTful Web 服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

from: https://www.ibm.com/developerworks/cn/education/java/j-rest/j-rest.html


開始之前

關于本教程

REST 是一種思維方式,而非協議或標準。它是設計基于命名資源而非消息的松耦合應用程序 — 通常指面向 Web 的應用程序 — 的一種風格。在本教程中,您將了解到何為 REST 以及如何使用 Restlet(一個面向 Java? 應用程序的輕量級框架)構建 RESTful 應用程序。

目標

本教程從 REST 的基本概念開始逐步指導您使用 Restlet 構建應用程序。您將學習如何:

  • 定義 RESTful Web 服務
  • 用 Restlet 框架實現它們
  • 用 JUnit 測驗框架驗證它們

學完本教程后,您就會領會到使用 RESTful 原則進行設計的益處,了解到 Restlet 框架是如何輕松地實現它們的。

先決條件

為了更好地學習本教程,您需要熟悉 Java 語法以及 Java 平臺中面向對象開發的基本概念。還要熟悉 Web 應用程序。熟悉 Groovy、Unit、DbUnit 和 XMLUnit 對此也很有幫助。

系統需求

要跟隨并試用本教程中的代碼,您需要如下列出的任意一種可行的安裝:

  • Sun's JDK 1.5.0_09(或更高版本)
  • IBM Developer Kit for Java technology 1.5.0 SR3
  • Apache Ant 1.7 或者更高級版本

本文的源代碼有兩種版本(參見 下載)。其中一個版本包含了全部代碼以及所需依賴項(Restlet 框架 JUnit、XMLUnit 和 DbUnit)。使用低帶寬連接的讀者可以從它們各自的站點分別下載 Restlet 框架、JUnit、XMLUnit 和 DbUnit(參見 參考資料)并使用不包含依賴項的 下載 包。

要學習本教程,推薦的系統配置為:

  • 支持 Sun JDK 1.5.0_09(或更新版本)或者 IBM JDK 1.5.0 SR3 的系統,主內存至少為 500MB
  • 有至少 20MB 的磁盤空間安裝軟件組件和涉及到的示例

本教程中的指令和示例基于 Microsoft? Windows? 操作系統。教程中所用到的所有工具在 Linux? 和 UNIX? 系統上都可以運行。

何為 REST?

REST 是設計基于命名資源 — 例如,以 Uniform Resource Locators(URL)、Uniform Resource Identifiers(URI)和 Uniform Resource Names(URN)的形式 — 而非消息的松耦合 Web 應用程序的一種風格。REST 巧妙地借助已經驗證過的成功的 Web 基礎設施 — HTTP。換句話說,REST 利用了 HTTP 協議的某些方面,例如 GET 和 POST 請求。這些請求可以很好地映射到標準業務應用程序需求,諸如創建、讀取、更新和刪除(CRUD),如表 1 所示:

表 1. CRUD/HTTP 映射
應用程序任務 HTTP 命令創建讀取更新刪除

請求就像是動詞,而資源就像是名詞,把兩者相關聯就形成了對行為的邏輯表達 — 例如, GET 這個文件,DELETE 那條記錄。

真正的 REST 之父 Roy Fielding 在他的博士畢業論文中陳述到:REST “強調組件交互的可伸縮性、界面的普遍性、獨立部署組件以及使用中間組件來減少交互延遲,增強安全性并封裝遺留系統”(參見 參考資料)。構建 RESTful 系統并不難,且這樣的系統具有高度的可伸縮性,同時與底層數據松散耦合;這樣的系統還可以很好地利用緩存。

Web 上所有的東西(頁面、圖像等)本質上都是資源。而 REST 正是基于命名資源而非消息的,這就限制了底層技術的曝光,從而給應用程序設計中的松耦合提供了便利條件。例如,下面的 URL 在不暗示任何底層技術的情況下,公開了資源:http://thediscoblog.com/2008/03/20/unambiguously-analyzing-metrics/。

該 URL 表示一個資源 — 一篇名為 “Unambiguously analyzing metrics” 的文章。請求該資源就會調用 HTTP GET 命令。注意該 URL 是基于名詞的。基于動詞的版本(大概類似 http://thediscoblog.com/2008/03/20/getArticle?name=unambiguously-analyzing-metrics)會違反 REST 原則,因為它以 getArticle 的形式嵌套了一條消息。您也可以設想通過 HTTP 的 POST 命令來發布一個新資源,(比如說,一篇諸如 http://thediscoblog.com/2008/03/22/rest-is-good-for-you/ 的文章)。你還可以設想用關聯的、基于動詞的 API — 如 createArticle?name=rest-is-good-for-you and deleteArticle?name=rest-is-good-for-you — 這樣的調用來攔截 HTTP GET 命令,并最大限度地忽略已有的(并且是成功的)HTTP 基礎設施。換句話說,它們不是 RESTful 風格。

REST 的魅力在于任何東西都可以成為資源,且表示方法也可以不同。在前面的例子中,資源為一個 HTML 文件,因此,其響應可能是 HTML 格式的。但是資源也可以是一個 XML 文檔、序列化的對象或者 JSON 表示。其實,這些都無關緊要。重要的是資源被命名了,并且與它通信不會影響其狀態。不影響狀態是很重要的,因為無狀態的交互有利于可伸縮性。

它的價值在那里?

引用達芬奇的一句名言 “簡潔就是終極復雜”。萬維網的實現非常簡單,并且無可置否地獲得了成功。REST 正是利用了 Web 的簡單性,并因此造就了高度可伸縮的、松散耦合的系統,而且事實證明,這樣的系統很容易構建。

正如您所看到的,構建 RESTful 應用程序最難的部分在于確定要公開的資源。解決了這個問題之后,再使用開源 Restlet 框架構建 RESTful Web 服務就是小菜一碟了。

起跑:構建一個 RESTful API

在本節中,您將為一個 Web 服務構建一個 RESTful API,該服務利用了支持數據庫的現有應用程序的功能。

RESTful 比賽

設想這樣一個在線應用程序,它管理賽跑比賽,參賽人員要跑完不同的路程(比如芝加哥馬拉松賽跑)。應用程序管理賽跑(或者賽事)以及與其相關的參賽人員。它會報告某個選手的時間(跑完全程所用的時間)和排名(參賽人員以第幾名跑完全程)。賽事籌辦公司 Acme Racing 要求您構建一個 RESTful Web 服務,主辦方可以用它來為特定比賽安排新的賽事和選手,并且可以為某次特定比賽提供官方記錄。

Acme Racing 已經有了一個遺留的胖客戶機應用程序,它支持類似的請求,并利用了一個簡單的數據庫和一個域模型。因此,剩下的工作就只有公開這個功能了。記住 REST 的魅力就在于它與底層應用程序的隱式松散耦合。因此,您目前的工作并非是去操心數據模型或與其相關聯的技術 — 而是去構造一個支持公司需求的 RESTful API。

比賽 URI

Acme Races 希望主辦方能夠:

  • 查看現有比賽細節
  • 創建新的比賽
  • 更新現有比賽
  • 刪除比賽

由于 REST 最終歸結為命名資源,API 就成為了一系列 URI 模式,并且與資源相關聯的行為要通過標準 HTTP 命令調用。

正如您可以看到的,客戶的請求很好地映射到了 CRUD。并且如您在 表 1 中所了解到的一樣,REST 分別通過 HTTP 的 POST、GET、PUT 以及 DELETE 請求來支持 CRUD。因此,一個支持這些請求的基 RESTful URI 應為 http://racing.acme.com/race。注意,在這種情況下,比賽是客戶機要使用的資源。

用 HTTP GET 來調用 URI 會返回一個比賽列表(這時先不要考慮響應的格式)。要添加新比賽,要用包含適當信息(例如,一個包含諸如名稱、日期和距離等信息的 XML 文檔)的 HTTP POST 來調用同一 URI。

要更新和刪除現有比賽,則需要對特定比賽的實例進行操作。因此,可以給單個比賽賦予一個 URI:http://racing.acme.com/race/race_id。在這種情況下,race_id 表示任一比賽標識符的一個占位符(諸如 1 或者 600 米)。因此,查看一個現有比賽實例就是針對該 URI 執行一個 HTTP GET 請求;更新或者刪除一個比賽分別為一個 PUT 或者 DELETE 請求。

Acme Racing 可能還希望公開有關某次比賽的參賽人員的數據。他們希望他們的服務支持:

  • 獲得有關特定比賽的全部參賽人員的數據。該數據還要包含已結束的比賽的賽跑時間和排名。
  • 為特定比賽創建一個或多個參賽人員。
  • 更新特定比賽的某一參賽人員的信息(如年齡)。
  • 刪除特定比賽的某一參賽人員。

Acme 可能還希望該服務可以讓用戶查看特定比賽的某個參賽人員的個人數據。

和比賽一樣,將 RESTful URI 應用于與比賽相關聯的參賽人員同樣是一個邏輯行為。例如,查看特定比賽的全部參賽人員可以通過對 http://racing.acme.com/race/race_id/runner 的 GET 請求來實現。

要獲得一個比賽的某個參賽人員的個人信息,可以編址為 http://racing.acme.com/race/race_id/runner/runner_id。

和 race_id 一樣,runner_id 是 ID 的邏輯實現的一個占位符,這些 ID 可以是數字、姓名、字母數字組合等。

向一個比賽添加參賽人員就是一個對 http://racing.acme.com/race/race_id/runner 的 POST 請求。更新或刪除特定參賽人員則分別是對 http://racing.acme.com/race/race_id/runner/runner_id 的 PUT 和 DELETE 請求。

因此,這些 URI(每一個 URI 都支持四個標準 HTTP 請求的其中一些或者全部)就滿足了 Acme Racing 的需求:

  • /race
  • /race/race_id
  • /race/race_id/runner
  • /race/race_id/runner/runner_id

記住,一個 URI 可以映射到不止一個 HTTP 動詞(例如,將一個HTTP GET 應用到 /race 將返回數據;使用 POST 和適當的數據在服務器上創建數據)。因此,有些 HTTP 命令不能實現。例如,/race 可能不支持 DELETE 命令(Acme Racing 不會刪除所有的比賽);/race/race_id 可能支持 DELETE 命令,因為移除一個比賽的某個特定實例是一個業務需求。

格式化資源

在本小節中,您將構造一系列的 XML 文檔來表示 RESTful 比賽 Web 服務將會支持的資源。

比賽 URI

前一小節中為 Acme Racing 構建的 RESTful API 涉及了網絡端點或者 URI,但并未提及資源。正如我在前面提到的,就 REST 而言,資源的格式并不重要。例如,您可以來回傳送 XML 或者二進制流。

在業務事務環境中,XML 是不折不扣的在機器之間通信的混合語言,所以構造一系列受 RESTful 服務支持的 XML 文檔很有意義。競賽的域相當簡單,而且您可以使用現有的數據模型,所以定義幾個表示比賽和參賽人員的 XML 文檔也很簡單。

例如,可以用清單 1 中的 XML 定義一個比賽:

清單 1. 某次比賽的 XML 文檔
1 2 3 4 <race name="Mclean 1/2 Marathon" date="2008-05-12" distance="13.1" id="1"> ?<uri>/races/1</uri> ??<description/> </race>

注意一個 <race> 有一個 id,且清單 1 包含一個作為比賽定義的一部分的 id。這是 REST 與 Web 的一個關鍵的方面 — 資源是相關的,應該鏈接在一起。因此,一個 <race> 總是含有一個描述它的 RESTful 表示的 <uri> 元素。清單 1 中的 XML 是一個 GET 到 /races/1 的請求的響應。

要創建一個新比賽,您可以省略 id 方面(因為管理惟一 ID 是由您正在構建的應用程序控制的)。這暗示您可以排除 <uri> 元素。因此,POST 請求應該如清單 2 所示:

清單 2. 創建比賽的 XML
1 2 3 <race name="Limerick 2008 Half" date="2008-05-12" distance="13.4"> ?<description>erin go braugh and have a good time!</description> </race>

那參賽人員呢?參賽人員與比賽有關,對么?所以 <race> 元素支持保存一到兩個 <runner> 元素,如清單 3 所示:

清單 3. 與比賽相關的參賽人員
1 2 3 4 5 6 7 8 9 10 11 12 <race name="Limerick 200 Half" date="2008-05-12" distance="13.4" id="9"> ?<uri>races/9</uri> ?<description>erin go braugh and have a good time!</description> ?<runners> ??<runner first_name="Linda" last_name="Smith" age="25" id="21"> ???<uri>/races/9/runner/21</uri> ??</runner> ??<runner first_name="Andrew" last_name="Glover" age="22" id="20"> ???<uri>/races/9/runner/20</uri> ??</runner> ?</runners> </race>

例如,清單 3 中的 XML 文檔就是通過 URI /race/race_id/runner 而返回的。API 還支持通過 URI /race/race_id/runner/runner_id 對單一參賽人員執行的 CRUD 操作。

因此,這些 CRUD 操作的 XML 如清單 4 所示:

清單 4. CRUD XML
1 2 3 4 5 6 7 8 <race name="Mclean 1/2 Marathon" date="2008-05-12" distance="13.1" id="1"> ?<uri>/races1</uri> ?<description /> ?<runner first_name="Andrew" last_name="Glover" age="32" id="1"> ??<uri>/races/1/runner/1</uri> ??<result time="100.04" place="45" /> ?</runner> </race>

注意,如果比賽已經完成,XML 文檔中會包含參賽人員的比賽結果。記住,使用一個 POST 請求就意味著創建一個參賽人員,因此,<runner> 元素的 id 屬性不會呈現。

Restlets

您已經定義了一個 RESTful API 了,它可以很好地映射到 CRUDing 比賽和參賽人員。并且您已經定義了通信的格式:XML 文檔。在這一小節中,您將開始用一個仿效 servlet 的創新的框架將所有這些組合起來。

Restlet 框架

Restlet 應用程序與 servlet 應用程序有一個相似點,就是它們都處在容器中,但實際上它們在兩個方面是截然不同的。第一,Restlet 不使用 HTTP 的直接概念或其狀態顯示,如 cookies 或者 session。第二,Restlet 框架極其輕便。正如您將要看到的,只用幾個核心 Restlet 基類擴展出來的幾個類就能夠構建一個功能完善的 RESTful 應用程序。配置和部署利用現有的容器模型,所以您只需更新原來的 web.xml 文件,并部署一個標準 Web 歸檔文件(WAR)就可以了。

基本上,一個用 Restlet 框架構建的 RESTful 應用程序的大部分都需要使用兩個基類: Application 和 Resource。邏輯上,Application 實例將 URI 映射到 Resource 實例。Resource 實例處理基本的 CRUD 命令,當然,這些命令都要映射到 GET、POST、PUT 和 DELETE。

比賽應用程序

通過擴展 Restlet 框架的 Application 類來創建一個起跑點。在這個類中,定義響應 URI 的 Resource。該定義過程是用框架的 Router 類來完成的。例如,如果您有諸如 /order_id 這樣的 URI 的話,您需要指定哪一個對象可以處理這些請求。這個對象是框架的 Resource 類型的一個實例。可以通過將這些對象附加到 Router 實例來使它們同 URI 鏈接,如清單 5 所示:

清單 5. 創建 Router 實例并映射 URI
1 2 Router router = new Router(this.getContext()); router.attach("order/{order_id}", Order.class);

所以在這個例子中,URI order/order_id 被邏輯映射到 Order 類(它再擴展 Resource)。

Acme Racing 擁有四個您已經定義了的邏輯 RESTful URI — 處理比賽和參賽人員的各個方面的四種模式:

  • /race
  • /race/race_id
  • /race/race_id/runner
  • /race/race_id/runner/runner_id

每一個 URI 的行為(比如,如果它使用 POST、DELETE、GET 等)在這點上并不重要。每一個 Resource 的行為則是由 Resource 實例負責;而 Application 實例用于通過 Router 實例將這些 URI 映射到(尚未定義的)Resource ,如清單 6 所示:

清單 6. 將 Acme Racing 的 URI 映射到 Resource
1 2 3 4 5 6 7 8 9 10 11 12 13 14 public class RaceApplication extends Application{ ?public RaceApplication(Context context) { ??super(context); ?} ?public Restlet createRoot() { ??Router router = new Router(this.getContext()); ??router.attach("/race", RacesResource.class); ??router.attach("/race/{race_id}", RaceResource.class); ??router.attach("/race/{race_id}/runner", RaceRunnersResource.class); ??router.attach("/race/{race_id}/runner/{runner_id}", RaceRunnerResource.class); ??return router; ?} }

基類 Application 是一個抽象類。擴展類必須實現 createRoot() 方法。在這個方法中,可以創建一個 Router 實例,并將 Resource 附加到 URI,像清單 6 中所示的那樣。

正如您所看到的,有四個不同的 Resource 類。我已經將它們命名,使它們與期望的 URI 的高級行為相匹配。例如 /race URI 應該處理多個比賽實例,因此 Resource 類型被命名為 RacesResource。一旦 URI(/race/race_id)中包含了 id,就暗示著正在操作一個單獨的比賽,因此,Resource 類型適合命名為 RaceResource。

比賽資源

定義了 Application 實例來處理四種不同的 URI 模式后,一定要實現四個 Resource。

Restlet 框架中的 Resource 類型被認為是 Restlet。它們是使用 Restlet 框架開發的 RESTful 的應用程序的核心。與 Application 類型不同,基 Resource 類并非抽象類。它更像是一個可以按需要覆蓋其默認行為的模版。

從較高的程度來看,Resource 有四個需要覆蓋的方法。它們映射到了基本的 HTTP 命令,這些命令是 REST — GET、POST、PUT 以及 DELETE— 的標準,這并不是巧合。由于 Resource 類是非抽象類,所以框架需要為期望調用的行為實現一對方法。例如,如果想讓一個特定的資源來響應 DELETE 請求的話,首先要實現 delete() 方法。第二,必須實現 allowDelete() 方法,并且要讓這個方法返回 true(默認為 false)。相應的 PUT、POST 和 DELETE 默認允許方法返回 false,而 allowGet() 方法默認返回 true。這意味著對于只讀的 Resource,只需要覆蓋一個方法(而不是像在另外三種情況中覆蓋兩個)。或者也可以調用 Resource 類中的 setModifcation(true),因此不需要覆蓋單個 HTTP 動詞 allow 方法。

例如,RacesResource 應該用一個在系統中描述比賽的 XML 文檔來響應 GET 請求。用戶也可以通過這個 Resource 類型創建新比賽。因此,RacesResource 類覆蓋了 Resource 基類中的至少三個方法:

  • getRepresentation()
  • allowPost()
  • post()

記住,Resource 實例默認為只讀。因此,不需要覆蓋 allowGet() 方法。

生成 XML 文檔

在 格式化資源 小節,我們決定利用 XML 作為客戶機和服務之間共享信息的數據機制。因此,Restlet 一定要操作 XML:在 GET 的情況下構建它,在 POST、PUT 或者 DELETE 的情況下消費它。在這一小節中,您將通過使用 Groovy 腳本語言來消除生成和操作 XML 文檔的痛苦(參見 參考資料)。

利用 Groovy

使用 XML 可不是個輕松的活兒。退一步說,這個工作很單調乏味,且容易發生錯誤。幸運的是,Groovy 讓使用 XML 簡單了許多。

您將利用 Groovy 的力量來生成 XML 并完成操作 XML 文檔這個沉悶的工作。使用 Groovy 處理 XML 是再簡單不過了。例如,解析 XML 文檔就很簡單。以清單 7 中的 XML 文檔為例:

清單 7. 一個簡單的待解析的 XML 文檔
1 2 3 4 5 6 <acme-races> ??<race name="Alaska 200 below" date="Thu Jan 01" distance="3.2" id="20"> ????<uri>/races/20</uri> ????<description>Enjoy the cold!</description> ??</race> </acme-races>

假設您想獲取 <race> 元素的 name 屬性的值,您只需向 Groovy 的 XMLSlurper 類傳入一個 XML 文檔實例,調用 parse() 方法,然后定位到您想要的元素或者屬性就可以了,如清單 8 所示:

清單 8. 用 Groovy 解析 XML
1 2 def root = new XmlSlurper().parseText(raceXML) def name = root.race.@name.text()

如果您想獲得描述,調用 root.race.description.text() 就可以了。

創建 XML 也很簡單。如果想創建清單 7 中的 XML 代碼片斷的話,只要創建一個 Groovy 的 MarkupBuilder 類的實例,然后給它添加個節點就可以了,如清單 9 所示:

清單 9. 創建 XML 再簡單不過了
1 2 3 4 5 6 7 8 9 def writer = new StringWriter() def builder = new MarkupBuilder(writer) builder."acme-races"() { ????race(name: "Alaska 200 below",? date: "Thu Jan 01", distance: "3.2", id: "20") { ????????uri("/races/20") ????????description("Enjoy the cold!") ????} } println writer.toString()

注意元素是如何通過附加名稱到 builder 實例而被添加到 XML 文檔的。我需要為 acme-races 加上引號,因為在 Groovy 字符串字母中不允許使用連字符,因此,使 acme-races 成為 String 就很好地解決了這個問題。

元素可以有屬性。屬性名和屬性值是通過構造 Groovy 映射創建的,同時 Groovy 映射將兩者鏈接在一起(例如,name:"Alaska 200 below")。

數據層

本節描述了現有的域對象,它生成了 RESTful 服務將會重用的數據層。

域對象

正如您從 起跑:構建 RESTful API 一節了解到的,Acme Racing 投資于以前的項目的數據層,并且想將其重用于新的 Web 服務。當然,這會讓您的工作更輕松。簡單地說,該數據層由三個業務對象組成:Race、Runner 以及 Result。它們由 Spring 和 Hibernate 有效地管理著;然而,這些框架您是看不見的;您僅有一個運行良好的 JAR 文件(換句話說,它可以讓您輕松創建新比賽,找到現有參賽人員等)。

業務對象支持一系列的尋找方法,它們使獲取比賽和參賽人員實例變得很輕松。對象可以分別通過 save()、update() 和 remove() 方法被持久化、更新、以及從底層數據庫中移除。

例如,Race 對象支持一系列的尋找方法,并為良好地操作持久化數據提供便利條件。Race 對象的 API 很簡單,如清單 10 所示:

清單 10. Race 的 API
1 2 3 4 5 6 Collection<Race> findAll(); Race findById(long id); Race findByName(String name); void create(Race race); void update(Race race); void remove(Race race);

一個 Race 實例有很多的屬性,如清單 11 所示:

清單 11. Race 的屬性
1 2 3 4 5 6 7 private long id; private String name; private Date date; private double distance; private Set<Runner> participants; private Set<Result> results; private String description;

Race 的所有屬性都可以通過 getter 和 setter 使用。而且,項集合(如 participants 和 results)支持添加單獨的項。因此,Race 對象有一個 addParticipant() 方法,如清單 12 所示:

清單 12. Race 的 addParticipant() 方法
1 public void addParticipant(final Runner participant) ;

正如您所看到的,使用這個域模型是很簡單的。

構建與測試服務

知道如何使用 XML 并已經有了可以用的數據層之后,是時候繼續使用 Restlet 構建 RESTful 應用程序并做一些測試準備了。

比賽服務

回憶一下,Acme Racing 希望服務可以讓客戶機查看現有比賽,并創建新比賽。您已經大致了解了支持 /race 這個行為的 RESTful URI。

通過 RaceApplication 類中的 Router 類,可以將這個 URI 鏈接到 RacesResource 類。您已經知道了您必須實現三個方法:

  • getRepresentation()
  • allowPost()
  • post()

因此,創建一個叫做 RacesResource 的類,并確保它擴展了 org.restlet.resource.Resource。另外,實現一個含三個參數的構造函數,如清單 13 所示:

清單 13. RacesResource 中含三個參數的構造函數
1 2 3 4 5 public class RacesResource extends Resource { ?public RacesResource(Context context, Request request, Response response) { ??super(context, request, response); ?} }

一定要指導 Restlet 如何正確通信資源表示。由于 XML 將會起到資源格式的作用,一定要通過添加 XML 變體類型來指導 Restlet。Restlet 中的 Variant 表示 Resource 的格式?;?Resource 含有一個 getVariants() 方法,它使添加各種 Variant 類型變得容易。因此,將清單 14 中的內容添加到您的構造函數:

清單 14. 將 XML 表示為一個變體
1 this.getVariants().add(new Variant(MediaType.TEXT_XML));

Restlet 框架支持很多種媒介類型,包括圖像和視頻。

處理 GET 請求

現在是時候實現類的最簡單行為了:處理 GET 請求。如清單 15 所示涵蓋 getRepresentation() 方法:

清單 15. 涵蓋 getRepresentation()
1 2 3 public Representation getRepresentation(Variant variant) { ?return null; }

可以看到,這個方法返回了一個 Representation 類型,它有多種實現。其中一個實現 — 適當地命名為 StringRepresentation — 表示字符串,并會滿足您的需求。

正如您所知道的,您已經有了一個遺留域模型,它可以支持使用數據庫。事實證明有人已經寫出了實用程序類,叫做 RaceReporter,它可以將域對象轉換為 XML 文件。這個類的 racesToXml() 方法使用了一個 Race 實例集合,并返回了表示與清單 16 類似的 XML 文檔的 String:

清單 16. XML 響應
1 2 3 4 5 6 7 8 9 10 11 12 <acme-races> ?<races> ??<race name="Leesburg 5K" date="2008-05-12" distance="3.1" id="5"> ??<uri>/races/5</uri> ??<description/> ?</race> ?<race name="Leesburg 10K" date="2008-07-30" distance="6.2" id="6"> ??<uri>/races/6</uri> ??<description/> ?</race> ?</races> </acme-races>

事實上,這個 XML 文檔演示了在響應 GET 請求而調用 /race URI 時 RESTful Web 服務將返回的內容。

因此,我們的工作是鏈接底層數據存儲中所有比賽實例的檢索;其實在這一點上,您可能已經編寫了一個測試了。

測試服務

使用 Restlet 框架,您能夠構造客戶機實例,并讓它調用 RESTful Web 服務。此外,您可以利用 XMLUnit(參見 參考資源)來驗證服務的輸出是一些已知的 XML 文檔。最后,同樣重要的是,您也可以使用 DbUnit(參見 參考資料)將底層數據庫設置為已知狀態(這樣就能總是獲得相同的 XML 文檔)。

可以使用 JUnit 4 創建兩個 fixture,它可以適當初始化 XMLUnit 和 DbUnit,如清單 17 所示:

清單 17. 設置 XMLUnit 和 DbUnit
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 @Before public void setUpXMLUnit() { ?XMLUnit.setControlParser( ??"org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"); ?XMLUnit.setTestParser( ??"org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"); ?XMLUnit.setSAXParserFactory( ??"org.apache.xerces.jaxp.SAXParserFactoryImpl"); ?XMLUnit.setIgnoreWhitespace(true); } @Before public void setUpDbUnit() throws Exception { ?Class.forName("org.hsqldb.jdbcDriver"); ?IDatabaseConnection conn = ??new DatabaseConnection( ???getConnection("jdbc:hsqldb:hsql://127.0.0.1", "sa", "")); ?IDataSet data = new FlatXmlDataSet(new File("etc/database/race-db.xml")); ?try { ??DatabaseOperation.CLEAN_INSERT.execute(conn, data); ?} finally { ??conn.close(); ?} }

在 setUpDbUnit 方法中,數據庫的 XML 表示通過 CLEAN_INSERT 命令被插入數據庫。這個 XML 文件有效地插入了六個不同的比賽。因此,GET 的響應將會是一個帶有六個比賽的 XML 文檔。

接下來,可以創建一個測試用例,它可以對 /race URI 調用 HTTP GET、獲取響應 XML 并使用 XMLUnit 的 Diff 類將它比作為控制 XML 文件,如清單 18 所示:

清單 18. 用 XMLUnit 驗證 GET 響應
1 2 3 4 5 6 7 8 9 10 11 @Test public void getRaces() throws Exception { ?Client client = new Client(Protocol.HTTP); ?Response response = ??client.get("http://localhost:8080/racerrest/race/"); ?Diff diff = new Diff(new FileReader( ??new File("./etc/control-xml/control-web-races.xml")), ???new StringReader(response.getEntity().getText())); ?assertTrue(diff.toString(), diff.identical()); }

control-web-races.xml 文件是預期的來自 Web 服務的 XML 響應。它含有如清單 19 所示的數據:

清單 19. 控制 XML 文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <acme-races> ?<races> ??<race name="Mclean 1/2 Marathon" date="2008-05-12" distance="13.1" id="1"> ???<uri>http://localhost:8080/races/1</uri> ???<description/> ??</race> ??<race name="Reston 5K" date="2008-09-13" distance="3.1" id="2"> ???<uri>http://localhost:8080/races/2</uri> ???<description/> ??</race> ??<race name="Herndon 10K" date="2008-10-22" distance="6.2" id="3"> ???<uri>http://localhost:8080/races/3</uri> ???<description/> ??</race> ??<race name="Leesburg 1/2 Marathon" date="2008-01-02" distance="13.1" id="4"> ???<uri>http://localhost:8080/races/4</uri> ???<description/> ??</race> ??<race name="Leesburg 5K" date="2008-05-12" distance="3.1" id="5"> ???<uri>http://localhost:8080/races/5</uri> ???<description/> ??</race> ??<race name="Leesburg 10K" date="2008-07-30" distance="6.2" id="6"> ???<uri>http://localhost:8080/races/6</uri> ???<description/> ??</race> ?</races> </acme-races>

現在運行這個測驗當然會引起一系列的失敗,因為還沒有實現 RESTful 服務。同樣要注意,源代碼下載中的 Ant 構建文件包含部署 WAR 文件和啟動與停止 Tomcat 的任務(參見 下載)。這些都是成功運行測試的必要條件。

結果證明滿足 GET 請求其實很簡單。只需要對 Race 域對象調用 findAll 方法,然后將該調用的結果傳入 RaceReporter 的 racesToXml() 方法。因此,您需要更新 RacesResource 實例,引入新的成員變量和構造函數的新的初始化,如清單 20 所示:

清單 20. 不要忘記添加 RaceReporter
1 2 3 4 5 6 7 8 9 public class RacesResource extends Resource { ?private RaceReporter reporter; ?public RacesResource(Context context, Request request, Response response) { ??super(context, request, response); ??this.getVariants().add(new Variant(MediaType.TEXT_XML)); ??this.reporter = new RaceReporter(); ?} }

現在,實現 GET 請求就很容易了。只要向 getRepresentation 方法中添加三行內容就可以了,如清單 21 所示:

清單 21. 完成 GET request
1 2 3 4 5 public Representation getRepresentation(Variant variant) { ?Collection<Race> races = Race.findAll(); ?String xml = this.reporter.racesToXml(races); ?return new StringRepresentation(xml); }

信不信由您,僅此而已!

但是等等,不需要部署這個應用程序來測試它么?

部署和驗證

在實際測試 RESTful 服務是否可以返回一個比賽列表之前,您需要先部署應用程序。本節展示了如何部署。

配置 web.xml

幸運的是,部署 Restlet 應用程序再簡單不過了。您只要創建一個普通的 WAR 文件,確保 web.xml 文件適當配置就可以了。

要讓 Restlet 應用程序在 servlet 容器中正常發揮功能,一定要更新 web.xml 文件:

  • 正確載入應用程序
  • 通過框架的自定義 servlet 傳遞所有需求

因此,您的 web.xml 文件應該如清單 22 所示:

清單 22. 簡單的 web.xml 文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" ?xmlns="http://java.sun.com/xml/ns/j2ee" ?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ?xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee ???http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> ?<display-name>RESTful racing</display-name> ?<context-param> ??<param-name>org.restlet.application</param-name> ??<param-value>RaceApplication</param-value> ?</context-param> ?<servlet> ??<servlet-name>RestletServlet</servlet-name> ??<servlet-class>com.noelios.restlet.ext.servlet.ServerServlet</servlet-class> ?</servlet> ?<servlet-mapping> ??<servlet-name>RestletServlet</servlet-name> ??<url-pattern>/*</url-pattern> ?</servlet-mapping> </web-app>

本教程的源代碼(參見 下載)含有一個 war 任務,它會自動構建 WAR 文件,以及支持將 WAR 文件部署到 Tomcat 本地實例的構建文件。

可以看到,在清單 22 中的第一部分,org.restlet.application 搭配 Restlet 應用程序的類名 RaceApplication(如果要賦予它一個包名的話,可能需要完全限定那個名稱)。也要注意,文檔最后的部分將所有請求映射到 RestletServlet 類型,該類型先前已被映射到了 com.noelios.restlet.ext.servlet.ServerServlet 類。

RESTfully 測試

現在測試 RESTful Web 服務只要重新運行 清單 18 中的測驗用例。

再看一下測試,可以解釋一些東西。Restlet 的 Client 對象支持基本的 HTTP 命令 GETPUT、POST 和 DELETE。Client 對象可以采取不同的協議的形式 — 在這種情況下只會偶爾依賴 HTTP。

GET 請求已經奏效了(參見圖 1),所以你可以寫另外一個測試。這一次,要完成 POST 所有期望的行為;換句話說,通過 RacesResource 類測試新比賽的創建。

圖 1. 在瀏覽器中查看 RESTful GET 請求

要測試 POST,您需要用相關的信息來形成一個 XML 請求文檔,并確保服務成功發回響應。當然,事實證明寫這樣的一個測試是相當簡單的。只需向現有 JUnit 類添加一些額外的代碼,如清單 23 所示:

清單 23. createRace 測驗用例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 private static String raceXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + ?"<acme-races>\n" + ?" <race name='Limerick 2008 Half' date='2008-05-12' distance='13.4'>\n" + ?" <description>erin go brach</description>\n" + ?" </race>\n" + ?"</acme-races>"; @Test public void createRace() { ?Form form = new Form(); ?form.add("data", this.raceXML); ?Representation rep = form.getWebRepresentation(); ?Client client = new Client(Protocol.HTTP); ?Response response = ??client.post("http://localhost:8080/racerrest/race/", rep); ?assertTrue(response.getStatus().isSuccess());

正如您所看到的,清單 23 迅速形成了一個表示 XML 文檔的 String。在這里,我在創建一個稱為 Limerick 2008 Half 的新比賽。然后它用 Restlet 框架的 Client 對象將這個文檔傳給服務器。最后,它確保返回一個成功指示。

現在運行測驗。失敗了,是么?那是因為您還沒有實現 POST 請求代碼,這是下一小節的任務。

通過 RESTful 服務創建比賽

通過 RESTful Web 服務創建比賽只需要幾個步驟就可以完成:接受 XML 文檔、解析它、在底層數據庫中創建一個新的 Race 實例,最后返回一個表示事務結果的響應。本小節涵蓋了這幾步。

處理 POST 請求

要通過 REST 實現創建行為,需要邏輯處理 POST 請求。因此,在 RacesResource 類中,必須覆蓋兩個方法:allowPost() 和 post()。

post() 方法完成這里的所有工作。它采用了一個 Representation 實例,可以從該實例中獲取傳送的數據。回憶一下 清單 23 中的 createRace 測試用例將 XML 文檔與一個名稱相關聯:data。因此,通過 Restlet 框架的 Form 對象,可以獲取一個表示傳入的 XML 的 String,然后您可以將它傳入所提供的 RaceConsumer 對象。這個對象很容易接受 XML 文檔,并會相應地操作底層數據庫。

如果事務有效的話,然后您將要相應地用一個成功的響應進行回應;無效的話,你將需要回應一個失敗消息。

繼續并覆蓋 allowPost() 和 post(),如清單 24 所示:

清單 24. 覆蓋 POST 方法
1 2 3 4 5 public boolean allowPost() { ?return true; } public void post(Representation representation) {}

由于您將使用 RaceConsumer 對象,所以要將其添加為 RacesResource 類的一個成員變量,并在構造函數中將其初始化。相應地更新對象,如清單 25 所示:

清單 25. 添加 RaceConsumer 類
1 2 3 4 5 6 7 8 9 10 11 public class RacesResource extends Resource { ?private RaceReporter reporter; ?private RaceConsumer consumer; ?public RacesResource(Context context, Request request, Response response) { ??super(context, request, response); ??this.getVariants().add(new Variant(MediaType.TEXT_XML)); ??this.reporter = new RaceReporter(); ??this.consumer = new RaceConsumer(); ?} }

接下來,確保您的 post() 方法如清單 26 所示:

清單 26. 實現 post()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public void post(Representation representation) { ?Form form = new Form(representation); ?String raceXML = form.getFirstValue("data"); ?Representation rep = null; ?try { ??long id = this.consumer.createRace(raceXML); ??getResponse().setStatus(Status.SUCCESS_CREATED); ??rep = new StringRepresentation(raceXML, MediaType.TEXT_XML); ??rep.setIdentifier(getRequest().getResourceRef().getIdentifier() + id); ?} catch (Throwable thr) { ??getResponse().setStatus(Status.SERVER_ERROR_INTERNAL); ??rep = new StringRepresentation("there was an error creating the race", ????MediaType.TEXT_PLAIN); ?} ?getResponse().setEntity(rep); }

正如您所看到的,post 方法內容很多;然而,仔細檢查之后,沒有看上去那么復雜。傳入的 XML 是通過 Form 對象獲取的。然后 XML(以一個 String 的形式)會被傳入 consumer 實例的 createRace() 方法。如果一切都奏效的話(換句話說,比賽被持久化),會生成一個包含成功狀態的響應,然后重新散列傳入的 XML 及由此而生的 URI(即,race/43,此處 43 為新創建的比賽的 id)。

如果進展得不是很順利的話,本質上會是相同的過程,不同之處是失敗消息會返回失敗狀態:創建失敗,無 URI 返回。

繼續并重新運行 createRace 測試。假設您已經重新部署了 RESTful Web 應用程序,一切都會順利運行。

結束語

本教程實現的僅僅是中等程度的 Acme Racing 需求。但在此過程中,您已經了解到了使用 Restlets 是很方便的。整個過程中最困難的部分就是實現邏輯 RESTful API。本教程的源代碼為提高您的學習樂趣提供了大量特性(參見 下載)。

詩人亞歷山大·蒲柏曾說過 “保持簡潔要遠遠優于費盡心思營造出來的復雜?!?對于 REST 來說這句話在合適不過了。記住 REST 是一種思維方式 — 是設計基于命名資源而非消息的松耦合應用程序的一種風格。通過借助已經驗證了的成功的 Web 基礎設施,REST 使得這些應用程序易于設計和實現。而且 REST 應用程序具有良好的擴展性。

本教程只涉及到了 Restlet 框架特性的冰山一角,但不要讓它欺騙了您。這個框架可以做很多事,包括在需要時添加安全設施。Restlet 是一種編碼享受,只要查看一些 Restlet 代碼,就可以很容易地理解代碼庫。

艾伯特愛因斯坦曾經說過,“所有事物都應該盡量保持簡單,但不可過分簡化?!?我認為 Restlet 框架和 REST 本身例證了這個名言的智慧,希望您可以同意我的看法。

下載資源


總結

以上是生活随笔為你收集整理的构建 RESTful Web 服务的全部內容,希望文章能夠幫你解決所遇到的問題。

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

97夜夜澡人人双人人人喊 | 国产黑色丝袜在线播放 | 亚洲自偷自拍另类第1页 | 国内精品九九久久久精品 | 一本久道久久综合婷婷五月 | 日本大乳高潮视频在线观看 | 亚洲中文无码av永久不收费 | 无码吃奶揉捏奶头高潮视频 | 人妻夜夜爽天天爽三区 | 亚洲精品一区二区三区在线观看 | 六十路熟妇乱子伦 | 97夜夜澡人人爽人人喊中国片 | 内射后入在线观看一区 | 国产网红无码精品视频 | 女人和拘做爰正片视频 | 国产精品沙发午睡系列 | 国产高潮视频在线观看 | 国产精品资源一区二区 | 最新版天堂资源中文官网 | 女高中生第一次破苞av | 国产口爆吞精在线视频 | 波多野结衣一区二区三区av免费 | aa片在线观看视频在线播放 | 欧美性生交xxxxx久久久 | 天天综合网天天综合色 | 国产网红无码精品视频 | 美女极度色诱视频国产 | 欧美日韩一区二区综合 | 无码成人精品区在线观看 | 日本www一道久久久免费榴莲 | 亚洲国产成人av在线观看 | 波多野结衣一区二区三区av免费 | 久久无码人妻影院 | 午夜精品久久久内射近拍高清 | 亚洲性无码av中文字幕 | 亚洲国产精品无码一区二区三区 | 国产精品久久久 | 亚洲中文字幕va福利 | 精品国产国产综合精品 | 国产肉丝袜在线观看 | 精品国产国产综合精品 | 成年女人永久免费看片 | 亚洲欧美色中文字幕在线 | 97se亚洲精品一区 | 曰本女人与公拘交酡免费视频 | 清纯唯美经典一区二区 | 亚洲第一无码av无码专区 | 亚洲色欲色欲欲www在线 | 精品无码国产自产拍在线观看蜜 | 狠狠色噜噜狠狠狠7777奇米 | 久久精品99久久香蕉国产色戒 | 青青青爽视频在线观看 | 中文字幕 亚洲精品 第1页 | 乌克兰少妇xxxx做受 | 日欧一片内射va在线影院 | 色综合久久久久综合一本到桃花网 | 天干天干啦夜天干天2017 | 亚洲男人av天堂午夜在 | 国产免费无码一区二区视频 | 东京一本一道一二三区 | 欧美亚洲国产一区二区三区 | 亚洲日本一区二区三区在线 | 漂亮人妻洗澡被公强 日日躁 | 强伦人妻一区二区三区视频18 | 人妻无码αv中文字幕久久琪琪布 | 高潮毛片无遮挡高清免费视频 | 狠狠躁日日躁夜夜躁2020 | 国产精品igao视频网 | 亚洲一区二区三区香蕉 | 妺妺窝人体色www婷婷 | 国产手机在线αⅴ片无码观看 | 丰满人妻一区二区三区免费视频 | a片免费视频在线观看 | 免费人成网站视频在线观看 | 色综合久久久久综合一本到桃花网 | 成人综合网亚洲伊人 | 一本一道久久综合久久 | 无码人妻丰满熟妇区毛片18 | 久久久久久亚洲精品a片成人 | 国产偷国产偷精品高清尤物 | 国产舌乚八伦偷品w中 | 国模大胆一区二区三区 | 国产精品毛多多水多 | 成人精品天堂一区二区三区 | 色窝窝无码一区二区三区色欲 | 色综合久久88色综合天天 | 免费观看黄网站 | 国产亚洲tv在线观看 | 两性色午夜免费视频 | 中文字幕无线码 | 99久久精品国产一区二区蜜芽 | 88国产精品欧美一区二区三区 | 亚洲国产高清在线观看视频 | 成熟女人特级毛片www免费 | 国产一区二区三区日韩精品 | 亚洲精品一区二区三区婷婷月 | 免费观看的无遮挡av | 人人妻人人澡人人爽欧美一区 | av小次郎收藏 | 日韩av激情在线观看 | 色爱情人网站 | 亚洲中文字幕无码一久久区 | 最近免费中文字幕中文高清百度 | 国产精品99久久精品爆乳 | 色综合久久中文娱乐网 | 又粗又大又硬毛片免费看 | a在线亚洲男人的天堂 | 乱人伦人妻中文字幕无码久久网 | 丰满诱人的人妻3 | 欧美国产日产一区二区 | 在线精品亚洲一区二区 | 日韩精品成人一区二区三区 | 欧美午夜特黄aaaaaa片 | 无码毛片视频一区二区本码 | 东京热一精品无码av | 亚洲国产欧美国产综合一区 | 国産精品久久久久久久 | 熟妇人妻激情偷爽文 | 在线欧美精品一区二区三区 | 丰满少妇女裸体bbw | 黑人大群体交免费视频 | 国产精品二区一区二区aⅴ污介绍 | 久久zyz资源站无码中文动漫 | 亚洲无人区午夜福利码高清完整版 | 国产婷婷色一区二区三区在线 | 亚洲欧美精品aaaaaa片 | 国语自产偷拍精品视频偷 | 欧美野外疯狂做受xxxx高潮 | 亚洲精品中文字幕久久久久 | 乱人伦人妻中文字幕无码 | 成人免费无码大片a毛片 | 国内少妇偷人精品视频 | 婷婷丁香五月天综合东京热 | 色综合视频一区二区三区 | 国产内射爽爽大片视频社区在线 | 亚洲理论电影在线观看 | 中文无码精品a∨在线观看不卡 | 撕开奶罩揉吮奶头视频 | 国产疯狂伦交大片 | 久久精品国产一区二区三区 | 婷婷五月综合激情中文字幕 | 在线精品亚洲一区二区 | 国产成人精品三级麻豆 | 国产黄在线观看免费观看不卡 | 欧美老熟妇乱xxxxx | 国产69精品久久久久app下载 | 人人妻人人澡人人爽欧美一区 | 日韩欧美成人免费观看 | 亚洲国产欧美国产综合一区 | 性欧美熟妇videofreesex | 亚洲精品中文字幕乱码 | 欧美熟妇另类久久久久久多毛 | 爱做久久久久久 | 久久亚洲精品中文字幕无男同 | 中文字幕无码热在线视频 | 麻豆md0077饥渴少妇 | 国产av一区二区精品久久凹凸 | 久久综合给久久狠狠97色 | 亚洲国产欧美在线成人 | 亚洲一区二区三区在线观看网站 | 日韩精品无码一区二区中文字幕 | 亚洲区欧美区综合区自拍区 | 欧美国产日产一区二区 | 男人的天堂av网站 | 精品久久久无码人妻字幂 | 国产精品久久久久久亚洲毛片 | 国产疯狂伦交大片 | 亚洲成av人片在线观看无码不卡 | 中文字幕无线码 | 樱花草在线社区www | 国产特级毛片aaaaaaa高清 | 在线看片无码永久免费视频 | 初尝人妻少妇中文字幕 | 中文精品无码中文字幕无码专区 | 人妻少妇精品视频专区 | 无码av免费一区二区三区试看 | 思思久久99热只有频精品66 | 久久久久成人精品免费播放动漫 | 美女黄网站人色视频免费国产 | 亚洲成av人片在线观看无码不卡 | 午夜福利一区二区三区在线观看 | 国产人妻人伦精品1国产丝袜 | 久久人妻内射无码一区三区 | 无套内射视频囯产 | 日韩精品无码一区二区中文字幕 | 国产69精品久久久久app下载 | 任你躁国产自任一区二区三区 | 国产亚洲精品久久久久久 | 一本无码人妻在中文字幕免费 | 久久综合香蕉国产蜜臀av | 免费人成网站视频在线观看 | 51国偷自产一区二区三区 | 欧美成人午夜精品久久久 | 亚洲精品美女久久久久久久 | 夜精品a片一区二区三区无码白浆 | 一本久道久久综合婷婷五月 | 精品久久久无码人妻字幂 | 久久久av男人的天堂 | 狠狠综合久久久久综合网 | 婷婷五月综合激情中文字幕 | 色诱久久久久综合网ywww | 丝袜足控一区二区三区 | 7777奇米四色成人眼影 | 无套内谢的新婚少妇国语播放 | 国产在线精品一区二区三区直播 | 无码免费一区二区三区 | 久久精品国产99精品亚洲 | 亚洲国产成人a精品不卡在线 | 综合激情五月综合激情五月激情1 | 欧美午夜特黄aaaaaa片 | 国产精品高潮呻吟av久久 | 婷婷色婷婷开心五月四房播播 | 久久久无码中文字幕久... | 国产情侣作爱视频免费观看 | 日本熟妇人妻xxxxx人hd | 成人一区二区免费视频 | 亚洲一区av无码专区在线观看 | 老熟妇仑乱视频一区二区 | 国内精品一区二区三区不卡 | 麻豆人妻少妇精品无码专区 | 亚欧洲精品在线视频免费观看 | 人妻插b视频一区二区三区 | 99久久亚洲精品无码毛片 | 人人妻人人澡人人爽人人精品浪潮 | 国产一区二区三区四区五区加勒比 | 免费中文字幕日韩欧美 | 久久无码中文字幕免费影院蜜桃 | 国产精品美女久久久网av | 97无码免费人妻超级碰碰夜夜 | 婷婷五月综合缴情在线视频 | 日本爽爽爽爽爽爽在线观看免 | 中文字幕中文有码在线 | 1000部啪啪未满十八勿入下载 | 亚洲中文字幕无码中文字在线 | 欧美丰满熟妇xxxx | 全黄性性激高免费视频 | 欧美激情一区二区三区成人 | 西西人体www44rt大胆高清 | 成人aaa片一区国产精品 | 色噜噜亚洲男人的天堂 | 亚洲日韩av一区二区三区中文 | 十八禁真人啪啪免费网站 | 99re在线播放 | 婷婷综合久久中文字幕蜜桃三电影 | 在线a亚洲视频播放在线观看 | 国产肉丝袜在线观看 | av无码电影一区二区三区 | 天天躁夜夜躁狠狠是什么心态 | 天天摸天天碰天天添 | 在线观看欧美一区二区三区 | 亚洲精品久久久久中文第一幕 | 国产精品爱久久久久久久 | 无套内谢的新婚少妇国语播放 | 丁香花在线影院观看在线播放 | 日日躁夜夜躁狠狠躁 | 免费男性肉肉影院 | 亚洲 欧美 激情 小说 另类 | 日日鲁鲁鲁夜夜爽爽狠狠 | 中文精品无码中文字幕无码专区 | 在线a亚洲视频播放在线观看 | 国产亚洲人成在线播放 | 免费观看又污又黄的网站 | 国产黑色丝袜在线播放 | 精品一区二区三区波多野结衣 | 亲嘴扒胸摸屁股激烈网站 | 久9re热视频这里只有精品 | 丰满少妇人妻久久久久久 | 暴力强奷在线播放无码 | 97夜夜澡人人双人人人喊 | 老熟女乱子伦 | 国产明星裸体无码xxxx视频 | 国产九九九九九九九a片 | 人妻少妇精品久久 | 日本www一道久久久免费榴莲 | 久久97精品久久久久久久不卡 | 国产亚洲欧美在线专区 | 无码午夜成人1000部免费视频 | 久久精品中文字幕大胸 | 中文字幕无码人妻少妇免费 | 精品偷拍一区二区三区在线看 | 久久久久久av无码免费看大片 | 国产熟女一区二区三区四区五区 | 色偷偷人人澡人人爽人人模 | 亚洲经典千人经典日产 | 国产精品亚洲专区无码不卡 | 国产极品美女高潮无套在线观看 | 免费网站看v片在线18禁无码 | 亚洲国产精品成人久久蜜臀 | 波多野结衣高清一区二区三区 | 国产激情无码一区二区app | 国产精品亚洲а∨无码播放麻豆 | 国产精品人妻一区二区三区四 | 人人爽人人澡人人高潮 | 亚洲精品欧美二区三区中文字幕 | 久久久久成人精品免费播放动漫 | 牲欲强的熟妇农村老妇女 | 少妇一晚三次一区二区三区 | 男人和女人高潮免费网站 | 东京热男人av天堂 | 久久精品成人欧美大片 | 性史性农村dvd毛片 | 青草青草久热国产精品 | 女人高潮内射99精品 | 天干天干啦夜天干天2017 | 激情内射亚州一区二区三区爱妻 | 中文无码伦av中文字幕 | 野狼第一精品社区 | 高清不卡一区二区三区 | 久久久av男人的天堂 | 日日碰狠狠丁香久燥 | 亚洲色偷偷偷综合网 | 日本大乳高潮视频在线观看 | 大屁股大乳丰满人妻 | 中文无码成人免费视频在线观看 | 熟妇人妻无乱码中文字幕 | 日本精品少妇一区二区三区 | 无码av中文字幕免费放 | 影音先锋中文字幕无码 | 国产乡下妇女做爰 | 亲嘴扒胸摸屁股激烈网站 | 成人片黄网站色大片免费观看 | 久久天天躁狠狠躁夜夜免费观看 | 四十如虎的丰满熟妇啪啪 | 99久久婷婷国产综合精品青草免费 | 丝袜足控一区二区三区 | 无码乱肉视频免费大全合集 | 中国女人内谢69xxxxxa片 | 欧洲精品码一区二区三区免费看 | 国产精品人妻一区二区三区四 | 东京热无码av男人的天堂 | 女人色极品影院 | 久久久久久久女国产乱让韩 | 日日天干夜夜狠狠爱 | 人妻少妇精品久久 | 麻豆国产丝袜白领秘书在线观看 | 国色天香社区在线视频 | 在线观看国产午夜福利片 | 人妻与老人中文字幕 | 高清国产亚洲精品自在久久 | 中文字幕精品av一区二区五区 | 无码国产色欲xxxxx视频 | 国产三级久久久精品麻豆三级 | 好爽又高潮了毛片免费下载 | 美女毛片一区二区三区四区 | 欧美成人高清在线播放 | 性生交大片免费看l | 水蜜桃亚洲一二三四在线 | 男女超爽视频免费播放 | 日韩 欧美 动漫 国产 制服 | 又粗又大又硬毛片免费看 | 欧美精品一区二区精品久久 | 国产成人久久精品流白浆 | 国产农村乱对白刺激视频 | 国产av剧情md精品麻豆 | 理论片87福利理论电影 | 性欧美大战久久久久久久 | 国产精品亚洲专区无码不卡 | 中文字幕人妻无码一夲道 | 亚洲а∨天堂久久精品2021 | 亚洲乱码中文字幕在线 | 国产精品沙发午睡系列 | 亚洲精品成人av在线 | 一本无码人妻在中文字幕免费 | a片在线免费观看 | 一本色道婷婷久久欧美 | 国产99久久精品一区二区 | 亚洲精品国产精品乱码不卡 | 妺妺窝人体色www在线小说 | 久久99精品国产麻豆 | 欧美肥老太牲交大战 | 亚洲国产精品久久久天堂 | 无码人妻黑人中文字幕 | 亚洲综合在线一区二区三区 | 精品国精品国产自在久国产87 | 亚洲高清偷拍一区二区三区 | 亚洲乱码日产精品bd | 亚洲一区二区三区偷拍女厕 | 日韩人妻少妇一区二区三区 | 精品无码一区二区三区的天堂 | 成人试看120秒体验区 | 免费观看激色视频网站 | 白嫩日本少妇做爰 | 国产精品亚洲lv粉色 | 男人的天堂2018无码 | 男女猛烈xx00免费视频试看 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 亚洲 欧美 激情 小说 另类 | 精品国产一区av天美传媒 | 青青青爽视频在线观看 | 久久综合激激的五月天 | 2019nv天堂香蕉在线观看 | 国产精华av午夜在线观看 | 午夜不卡av免费 一本久久a久久精品vr综合 | 亚洲欧美色中文字幕在线 | 亚洲性无码av中文字幕 | 久久精品成人欧美大片 | 中文字幕乱妇无码av在线 | 丰满岳乱妇在线观看中字无码 | 日韩精品成人一区二区三区 | 亚洲色成人中文字幕网站 | 久久无码人妻影院 | 久久精品国产99久久6动漫 | 人妻无码αv中文字幕久久琪琪布 | 国产成人午夜福利在线播放 | 亚洲精品午夜无码电影网 | 亚洲成av人影院在线观看 | 亚洲最大成人网站 | 精品无码av一区二区三区 | 精品国产青草久久久久福利 | 亚洲色在线无码国产精品不卡 | 亚洲国产av美女网站 | 国产色精品久久人妻 | 色综合视频一区二区三区 | 亚洲国产精品久久久久久 | yw尤物av无码国产在线观看 | 人妻少妇精品无码专区二区 | 77777熟女视频在线观看 а天堂中文在线官网 | 2020久久超碰国产精品最新 | 国产午夜手机精彩视频 | 奇米影视888欧美在线观看 | 中文字幕无码日韩欧毛 | 国产精品无码mv在线观看 | 久久国产自偷自偷免费一区调 | 国产av久久久久精东av | 欧美人与动性行为视频 | 丰满岳乱妇在线观看中字无码 | 偷窥日本少妇撒尿chinese | 国产精品手机免费 | www国产亚洲精品久久久日本 | 国产激情一区二区三区 | 日本一区二区三区免费高清 | 真人与拘做受免费视频一 | 亚洲日韩av一区二区三区四区 | 日本熟妇人妻xxxxx人hd | 国产成人精品一区二区在线小狼 | 欧美黑人乱大交 | 岛国片人妻三上悠亚 | 麻豆国产97在线 | 欧洲 | 国产乱人无码伦av在线a | 亚洲精品国偷拍自产在线观看蜜桃 | 一本色道婷婷久久欧美 | 99麻豆久久久国产精品免费 | 色综合久久久无码中文字幕 | 国产成人精品无码播放 | 激情内射亚州一区二区三区爱妻 | 国产女主播喷水视频在线观看 | 国产人妻人伦精品 | 无码乱肉视频免费大全合集 | 任你躁国产自任一区二区三区 | 性色av无码免费一区二区三区 | 国产又粗又硬又大爽黄老大爷视 | 美女毛片一区二区三区四区 | 熟妇女人妻丰满少妇中文字幕 | 成人毛片一区二区 | 成人亚洲精品久久久久 | 成人无码影片精品久久久 | 欧美性生交xxxxx久久久 | 久久无码中文字幕免费影院蜜桃 | 99久久无码一区人妻 | 欧美人与物videos另类 | 在线视频网站www色 | 亚洲色欲色欲欲www在线 | 永久免费观看国产裸体美女 | 国产莉萝无码av在线播放 | 中文久久乱码一区二区 | 久久亚洲精品中文字幕无男同 | 精品无码av一区二区三区 | 亚洲国产精品无码久久久久高潮 | ass日本丰满熟妇pics | 精品国产麻豆免费人成网站 | 精品无码一区二区三区的天堂 | 成人性做爰aaa片免费看 | 国产又粗又硬又大爽黄老大爷视 | 国产激情无码一区二区 | 中文字幕乱码中文乱码51精品 | 国产精品亚洲五月天高清 | 欧美老人巨大xxxx做受 | 欧洲精品码一区二区三区免费看 | 精品乱子伦一区二区三区 | 一本久道久久综合狠狠爱 | 日日碰狠狠躁久久躁蜜桃 | 天天拍夜夜添久久精品 | 欧美国产日产一区二区 | 久久成人a毛片免费观看网站 | 波多野结衣高清一区二区三区 | 又大又紧又粉嫩18p少妇 | 日韩精品成人一区二区三区 | 婷婷综合久久中文字幕蜜桃三电影 | 国产区女主播在线观看 | 人人澡人人妻人人爽人人蜜桃 | 午夜时刻免费入口 | 国产亚洲精品久久久久久 | 亚洲国产精品久久久天堂 | 国产99久久精品一区二区 | 在线亚洲高清揄拍自拍一品区 | 国产国语老龄妇女a片 | 欧美变态另类xxxx | 亲嘴扒胸摸屁股激烈网站 | 又大又黄又粗又爽的免费视频 | 亚洲欧美精品伊人久久 | 沈阳熟女露脸对白视频 | 99精品国产综合久久久久五月天 | 亚洲日韩av一区二区三区四区 | 亚洲s色大片在线观看 | 欧美阿v高清资源不卡在线播放 | aⅴ亚洲 日韩 色 图网站 播放 | 久久精品国产日本波多野结衣 | 国内精品九九久久久精品 | 久久久久久亚洲精品a片成人 | 亚洲第一网站男人都懂 | 国产成人一区二区三区别 | 国产精品对白交换视频 | 扒开双腿吃奶呻吟做受视频 | 人妻插b视频一区二区三区 | 亚洲一区二区三区 | 精品水蜜桃久久久久久久 | 国产精品久久久久7777 | 人妻aⅴ无码一区二区三区 | 国产精品自产拍在线观看 | 婷婷五月综合缴情在线视频 | 任你躁在线精品免费 | 亚洲精品综合一区二区三区在线 | 精品人人妻人人澡人人爽人人 | 377p欧洲日本亚洲大胆 | 国产午夜精品一区二区三区嫩草 | 巨爆乳无码视频在线观看 | 强开小婷嫩苞又嫩又紧视频 | 欧美国产日韩久久mv | 色欲av亚洲一区无码少妇 | 在线精品国产一区二区三区 | 日本在线高清不卡免费播放 | 日韩在线不卡免费视频一区 | 日韩少妇白浆无码系列 | 免费人成网站视频在线观看 | 亚洲色www成人永久网址 | 亚洲精品国偷拍自产在线观看蜜桃 | 在线观看免费人成视频 | 欧美丰满熟妇xxxx性ppx人交 | 香港三级日本三级妇三级 | 搡女人真爽免费视频大全 | 亚洲精品久久久久中文第一幕 | 丰满人妻翻云覆雨呻吟视频 | 国产成人无码a区在线观看视频app | 国产深夜福利视频在线 | 精品一区二区三区无码免费视频 | 又黄又爽又色的视频 | 又大又紧又粉嫩18p少妇 | 日本www一道久久久免费榴莲 | 日本一卡2卡3卡四卡精品网站 | 欧美日韩一区二区三区自拍 | 亚洲精品一区二区三区大桥未久 | 国产又爽又黄又刺激的视频 | 日韩av激情在线观看 | 亚洲の无码国产の无码步美 | 成人无码视频免费播放 | 老司机亚洲精品影院 | 人人妻人人澡人人爽精品欧美 | 亚洲人亚洲人成电影网站色 | 又粗又大又硬毛片免费看 | 少妇无码吹潮 | 亚洲の无码国产の无码影院 | 日本大乳高潮视频在线观看 | 丝袜 中出 制服 人妻 美腿 | 人妻少妇精品无码专区二区 | 天堂а√在线地址中文在线 | 亚洲欧洲中文日韩av乱码 | 夜夜高潮次次欢爽av女 | 国产午夜视频在线观看 | 在线播放无码字幕亚洲 | 亚洲综合在线一区二区三区 | 国产成人无码a区在线观看视频app | 蜜臀aⅴ国产精品久久久国产老师 | 樱花草在线播放免费中文 | 久久国产精品_国产精品 | 国产精品久久久久无码av色戒 | 在线精品亚洲一区二区 | 最新版天堂资源中文官网 | 一本色道久久综合亚洲精品不卡 | 久久www免费人成人片 | 999久久久国产精品消防器材 | 欧美日本精品一区二区三区 | 国产精品久久久久7777 | 亚洲精品国产a久久久久久 | 欧美丰满老熟妇xxxxx性 | 国产午夜视频在线观看 | 午夜性刺激在线视频免费 | 国产av无码专区亚洲awww | 精品国产一区二区三区av 性色 | 在线播放亚洲第一字幕 | 亚洲成a人片在线观看日本 | 人人澡人摸人人添 | 久久久久人妻一区精品色欧美 | 日日橹狠狠爱欧美视频 | 国产又爽又黄又刺激的视频 | 欧洲精品码一区二区三区免费看 | 色诱久久久久综合网ywww | 高清无码午夜福利视频 | 欧美丰满老熟妇xxxxx性 | 免费观看又污又黄的网站 | 人妻尝试又大又粗久久 | 一个人看的视频www在线 | 亚洲熟妇色xxxxx欧美老妇 | 婷婷综合久久中文字幕蜜桃三电影 | 熟女俱乐部五十路六十路av | 亚洲爆乳精品无码一区二区三区 | 亚洲精品午夜国产va久久成人 | 国产美女精品一区二区三区 | 亚洲成a人一区二区三区 | 成人免费视频一区二区 | 国产精品理论片在线观看 | 奇米影视7777久久精品人人爽 | 久久精品一区二区三区四区 | 亚洲成色www久久网站 | 青春草在线视频免费观看 | 一本久久伊人热热精品中文字幕 | 扒开双腿吃奶呻吟做受视频 | 欧洲精品码一区二区三区免费看 | 精品国产一区二区三区四区在线看 | 无码av中文字幕免费放 | 99久久久无码国产精品免费 | 久久久www成人免费毛片 | 国产亚洲精品久久久久久久 | 午夜精品久久久久久久 | 久久久中文久久久无码 | 国产又爽又黄又刺激的视频 | 国产亚洲精品精品国产亚洲综合 | 玩弄中年熟妇正在播放 | 在线精品国产一区二区三区 | 影音先锋中文字幕无码 | 熟妇激情内射com | 天堂一区人妻无码 | 国产精品亚洲综合色区韩国 | 国产激情一区二区三区 | 欧美人与善在线com | 一二三四社区在线中文视频 | 国产精品多人p群无码 | 国产一区二区三区影院 | 国产精品爱久久久久久久 | 一本色道久久综合亚洲精品不卡 | 成人免费视频在线观看 | 亚洲国产欧美国产综合一区 | 一本色道婷婷久久欧美 | 久久五月精品中文字幕 | 极品尤物被啪到呻吟喷水 | 精品久久久久香蕉网 | 在线观看免费人成视频 | 扒开双腿疯狂进出爽爽爽视频 | 熟女少妇在线视频播放 | 亚洲精品一区国产 | 亚洲午夜福利在线观看 | 久久无码人妻影院 | 无码av中文字幕免费放 | 强开小婷嫩苞又嫩又紧视频 | 日日摸夜夜摸狠狠摸婷婷 | 国产亚洲美女精品久久久2020 | 日本护士毛茸茸高潮 | 亚洲 日韩 欧美 成人 在线观看 | 嫩b人妻精品一区二区三区 | 欧美 日韩 人妻 高清 中文 | 国产精品无码成人午夜电影 | 国产片av国语在线观看 | 成人免费无码大片a毛片 | 亚拍精品一区二区三区探花 | 色老头在线一区二区三区 | 日日天日日夜日日摸 | 精品少妇爆乳无码av无码专区 | 国产成人精品优优av | 色婷婷香蕉在线一区二区 | a片免费视频在线观看 | 国产麻豆精品精东影业av网站 | 内射老妇bbwx0c0ck | 一区二区三区乱码在线 | 欧洲 | 伊人久久大香线焦av综合影院 | 色婷婷久久一区二区三区麻豆 | 国产精品国产自线拍免费软件 | 蜜桃臀无码内射一区二区三区 | 国产午夜福利100集发布 | 亚洲综合精品香蕉久久网 | 特大黑人娇小亚洲女 | 亚洲理论电影在线观看 | 色一情一乱一伦一区二区三欧美 | 亚洲爆乳无码专区 | 久久久国产精品无码免费专区 | 无码av免费一区二区三区试看 | 国产97人人超碰caoprom | 亚洲日韩av片在线观看 | 久久99精品久久久久婷婷 | 正在播放老肥熟妇露脸 | 曰本女人与公拘交酡免费视频 | 欧美真人作爱免费视频 | 国产高清不卡无码视频 | 日韩亚洲欧美精品综合 | 无码人妻丰满熟妇区五十路百度 | 日本大乳高潮视频在线观看 | 国产精品久久久久无码av色戒 | 呦交小u女精品视频 | 久久国语露脸国产精品电影 | 2020最新国产自产精品 | 国产午夜手机精彩视频 | 久久亚洲精品成人无码 | 无码一区二区三区在线 | 久久亚洲中文字幕无码 | 久久久久99精品国产片 | 国产美女精品一区二区三区 | 久久 国产 尿 小便 嘘嘘 | 玩弄中年熟妇正在播放 | 欧美黑人乱大交 | 中文无码成人免费视频在线观看 | 国产精品怡红院永久免费 | 国产人妻久久精品二区三区老狼 | 奇米影视7777久久精品 | 久久久av男人的天堂 | 天天拍夜夜添久久精品大 | 亚洲精品一区二区三区四区五区 | www一区二区www免费 | 老子影院午夜精品无码 | 亚洲欧美日韩成人高清在线一区 | 国内精品人妻无码久久久影院蜜桃 | 色综合视频一区二区三区 | 少妇太爽了在线观看 | 激情五月综合色婷婷一区二区 | 亚洲午夜久久久影院 | 久久97精品久久久久久久不卡 | 亚洲欧洲日本综合aⅴ在线 | 噜噜噜亚洲色成人网站 | 日本乱偷人妻中文字幕 | 国产亲子乱弄免费视频 | 日日摸天天摸爽爽狠狠97 | 亚洲中文字幕成人无码 | 国产亚洲精品久久久久久久 | 国产卡一卡二卡三 | 中文字幕无码免费久久99 | aa片在线观看视频在线播放 | 玩弄中年熟妇正在播放 | 十八禁视频网站在线观看 | 麻豆人妻少妇精品无码专区 | 一个人看的视频www在线 | 狂野欧美性猛xxxx乱大交 | 少妇邻居内射在线 | 欧美人与禽猛交狂配 | 国产人成高清在线视频99最全资源 | 免费国产成人高清在线观看网站 | 国产精品久久久久9999小说 | 国产精品怡红院永久免费 | 久久国产自偷自偷免费一区调 | 久久综合给合久久狠狠狠97色 | 爱做久久久久久 | 国产免费观看黄av片 | 麻豆精产国品 | 国产精品高潮呻吟av久久4虎 | 亚洲熟妇色xxxxx欧美老妇y | 久久精品成人欧美大片 | 狂野欧美性猛xxxx乱大交 | 亚洲乱亚洲乱妇50p | 宝宝好涨水快流出来免费视频 | 色 综合 欧美 亚洲 国产 | 国产高潮视频在线观看 | 丝袜人妻一区二区三区 | 国产精品二区一区二区aⅴ污介绍 | 中文字幕无码av波多野吉衣 | 午夜无码人妻av大片色欲 | 亚洲国产精品无码一区二区三区 | 日日躁夜夜躁狠狠躁 | 亚洲成av人片天堂网无码】 | 帮老师解开蕾丝奶罩吸乳网站 | 亚洲一区二区三区香蕉 | 国产免费久久精品国产传媒 | 精品国产麻豆免费人成网站 | 国产一区二区三区精品视频 | 成人三级无码视频在线观看 | 少妇无码吹潮 | 亚洲va欧美va天堂v国产综合 | 亚洲国产精品一区二区第一页 | 国产av人人夜夜澡人人爽麻豆 | 亚洲男人av香蕉爽爽爽爽 | 亚洲中文无码av永久不收费 | 国产亚av手机在线观看 | 女高中生第一次破苞av | 欧美刺激性大交 | 午夜精品久久久久久久 | 欧美午夜特黄aaaaaa片 | 国产亚洲精品久久久久久国模美 | 国产色精品久久人妻 | 中文字幕av无码一区二区三区电影 | 国产偷自视频区视频 | 欧美丰满熟妇xxxx性ppx人交 | 国产高清av在线播放 | 午夜成人1000部免费视频 | 亚洲爆乳无码专区 | 草草网站影院白丝内射 | 蜜桃视频插满18在线观看 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | аⅴ资源天堂资源库在线 | 中文精品无码中文字幕无码专区 | 国产精品久久久久久亚洲毛片 | www国产精品内射老师 | 国产成人久久精品流白浆 | 欧美一区二区三区视频在线观看 | 国产xxx69麻豆国语对白 | 亚洲伊人久久精品影院 | 亚洲国产精品无码久久久久高潮 | 好男人社区资源 | 久久亚洲精品成人无码 | 欧洲精品码一区二区三区免费看 | 国产成人无码a区在线观看视频app | 国产又爽又猛又粗的视频a片 | 久久久精品欧美一区二区免费 | 国产乱人伦偷精品视频 | 久久精品人人做人人综合 | 欧美日本精品一区二区三区 | 国产精品办公室沙发 | 国产熟妇高潮叫床视频播放 | 俺去俺来也www色官网 | 免费播放一区二区三区 | 久久亚洲国产成人精品性色 | 色妞www精品免费视频 | 久久精品国产一区二区三区肥胖 | 亚洲国产日韩a在线播放 | 午夜性刺激在线视频免费 | 国产手机在线αⅴ片无码观看 | 国产乱人无码伦av在线a | 婷婷五月综合缴情在线视频 | 亚洲日韩精品欧美一区二区 | 国产激情综合五月久久 | 九九久久精品国产免费看小说 | 日韩人妻系列无码专区 | 国精品人妻无码一区二区三区蜜柚 | 国产无遮挡吃胸膜奶免费看 | 精品国产国产综合精品 | 国产绳艺sm调教室论坛 | 国产成人无码av在线影院 | 啦啦啦www在线观看免费视频 | 18黄暴禁片在线观看 | 久久无码专区国产精品s | av小次郎收藏 | 夜先锋av资源网站 | 亚洲の无码国产の无码影院 | 色欲综合久久中文字幕网 | 中文字幕人妻无码一区二区三区 | 亚洲а∨天堂久久精品2021 | 久久久国产精品无码免费专区 | 中文字幕无码人妻少妇免费 | 理论片87福利理论电影 | 国产日产欧产精品精品app | 亚洲国产精品毛片av不卡在线 | 精品偷自拍另类在线观看 | 欧美成人家庭影院 | 熟女俱乐部五十路六十路av | 最近免费中文字幕中文高清百度 | 久久国产精品精品国产色婷婷 | a在线亚洲男人的天堂 | 免费观看激色视频网站 | 国产精品国产三级国产专播 | 最新国产乱人伦偷精品免费网站 | 久久成人a毛片免费观看网站 | 国产午夜视频在线观看 | 精品厕所偷拍各类美女tp嘘嘘 | 老熟妇乱子伦牲交视频 | 国产精品亚洲五月天高清 | 午夜丰满少妇性开放视频 | 2019nv天堂香蕉在线观看 | 无码人妻av免费一区二区三区 | 欧美日韩色另类综合 | 日本一卡2卡3卡四卡精品网站 | a在线亚洲男人的天堂 | 久久亚洲国产成人精品性色 | 日日摸夜夜摸狠狠摸婷婷 | 精品一二三区久久aaa片 | 色五月五月丁香亚洲综合网 | 精品成在人线av无码免费看 | 波多野结衣av在线观看 | 亚洲日韩一区二区三区 | 色婷婷香蕉在线一区二区 | 精品无码一区二区三区的天堂 | 麻豆国产丝袜白领秘书在线观看 | 熟妇女人妻丰满少妇中文字幕 | 国产精品二区一区二区aⅴ污介绍 | 国产农村妇女高潮大叫 | 久久久久久久人妻无码中文字幕爆 | 国产在线精品一区二区高清不卡 | 亚拍精品一区二区三区探花 | 无码人妻精品一区二区三区不卡 | 亚洲一区二区三区播放 | 领导边摸边吃奶边做爽在线观看 | 综合人妻久久一区二区精品 | 国产精品久久久午夜夜伦鲁鲁 | 7777奇米四色成人眼影 | 亚洲日韩av一区二区三区四区 | 丰满妇女强制高潮18xxxx | 又色又爽又黄的美女裸体网站 | 亚洲s码欧洲m码国产av | 麻豆md0077饥渴少妇 | 亚洲 a v无 码免 费 成 人 a v | 人妻人人添人妻人人爱 | 色婷婷久久一区二区三区麻豆 | 麻豆国产人妻欲求不满谁演的 | 久久精品中文闷骚内射 | 美女黄网站人色视频免费国产 | 无码国模国产在线观看 | 亚洲热妇无码av在线播放 | 久久精品国产一区二区三区 | 亚洲中文字幕在线观看 | 亚洲男人av香蕉爽爽爽爽 | 天堂亚洲2017在线观看 | 精品成人av一区二区三区 | 帮老师解开蕾丝奶罩吸乳网站 | 天天综合网天天综合色 | 国产精品久免费的黄网站 | 亚洲中文字幕无码中字 | 无码人妻出轨黑人中文字幕 | 国产精品久久久久9999小说 | 国产精品久久久久7777 | 国产香蕉97碰碰久久人人 | 国产午夜无码视频在线观看 | 少女韩国电视剧在线观看完整 | 国产成人久久精品流白浆 | 激情爆乳一区二区三区 | 亚洲精品中文字幕乱码 | 思思久久99热只有频精品66 | 免费视频欧美无人区码 | 好男人社区资源 | 欧美自拍另类欧美综合图片区 | 男女性色大片免费网站 | 久久久久人妻一区精品色欧美 | 亚洲区小说区激情区图片区 | 久久久久久九九精品久 | aa片在线观看视频在线播放 | 精品aⅴ一区二区三区 | 最新国产麻豆aⅴ精品无码 | 国产成人一区二区三区别 | 国产精品无码永久免费888 | 少妇高潮一区二区三区99 | 亚洲一区二区三区 | 日本在线高清不卡免费播放 | 国产在线aaa片一区二区99 | 亚洲色在线无码国产精品不卡 | 成人片黄网站色大片免费观看 | 国产无套粉嫩白浆在线 | 在线天堂新版最新版在线8 | 国产亚洲精品久久久久久大师 | 国产精品视频免费播放 | 又湿又紧又大又爽a视频国产 | 欧洲熟妇精品视频 | 国产凸凹视频一区二区 | 在线观看免费人成视频 | 人妻无码久久精品人妻 | 牛和人交xxxx欧美 | 国产精品多人p群无码 | 少妇厨房愉情理9仑片视频 | 2019nv天堂香蕉在线观看 | 欧美高清在线精品一区 | 欧美放荡的少妇 | 欧美自拍另类欧美综合图片区 | 丁香花在线影院观看在线播放 | 男人扒开女人内裤强吻桶进去 | 丝袜 中出 制服 人妻 美腿 | 亚洲第一无码av无码专区 | 婷婷五月综合缴情在线视频 | 午夜无码人妻av大片色欲 | 日韩在线不卡免费视频一区 | 亚洲 激情 小说 另类 欧美 | 久久久久成人片免费观看蜜芽 | 在线成人www免费观看视频 | 老司机亚洲精品影院无码 | 少妇激情av一区二区 | 午夜精品一区二区三区的区别 | 亚洲国产欧美国产综合一区 | 久久久精品456亚洲影院 | 亚洲 另类 在线 欧美 制服 | 5858s亚洲色大成网站www | 兔费看少妇性l交大片免费 | 欧美 日韩 人妻 高清 中文 | 亚洲欧美国产精品久久 | 天天躁夜夜躁狠狠是什么心态 | 成人无码精品1区2区3区免费看 | 国产乱人伦偷精品视频 | 亚洲国产精品美女久久久久 | 国产精品99爱免费视频 | 日韩人妻无码中文字幕视频 | 日韩成人一区二区三区在线观看 | 高潮喷水的毛片 | 国产va免费精品观看 | 亚洲国精产品一二二线 | 久久伊人色av天堂九九小黄鸭 | 精品无码成人片一区二区98 | 国产亚洲人成a在线v网站 | 无码毛片视频一区二区本码 | 特大黑人娇小亚洲女 | 成人欧美一区二区三区黑人 | 国产精品亚洲一区二区三区喷水 | 国产精品久久久久无码av色戒 | 日产国产精品亚洲系列 | 亚洲精品www久久久 | 无遮无挡爽爽免费视频 | 人妻无码久久精品人妻 | 中文字幕无码热在线视频 | 少女韩国电视剧在线观看完整 | 99久久精品无码一区二区毛片 | 欧洲熟妇精品视频 | 色婷婷香蕉在线一区二区 | 亚洲日韩av一区二区三区中文 | 青草视频在线播放 | 久久久久99精品国产片 | 久久久久成人精品免费播放动漫 | 免费视频欧美无人区码 | av在线亚洲欧洲日产一区二区 | 激情爆乳一区二区三区 | 欧美刺激性大交 | 成人一区二区免费视频 | 男人和女人高潮免费网站 | 极品嫩模高潮叫床 | 伊人久久大香线蕉亚洲 | 亚洲人成影院在线观看 | 亚无码乱人伦一区二区 | 国产av人人夜夜澡人人爽麻豆 | 久久人人爽人人爽人人片av高清 | 亚洲熟妇色xxxxx亚洲 | 欧美日韩色另类综合 | 激情人妻另类人妻伦 | 377p欧洲日本亚洲大胆 | 中文字幕无码乱人伦 | 中文字幕无码免费久久99 | 日产精品高潮呻吟av久久 | 岛国片人妻三上悠亚 | 国精品人妻无码一区二区三区蜜柚 | 人妻有码中文字幕在线 | 18精品久久久无码午夜福利 | 特级做a爰片毛片免费69 | 免费观看激色视频网站 | 无码精品国产va在线观看dvd | 最近的中文字幕在线看视频 | 亚洲精品中文字幕 | 丰满少妇熟乱xxxxx视频 | 天天av天天av天天透 | 久久久久av无码免费网 | 国产一区二区不卡老阿姨 | 日韩精品无码一本二本三本色 | 亚洲欧美日韩综合久久久 | 色偷偷人人澡人人爽人人模 | 鲁一鲁av2019在线 | 丰满少妇高潮惨叫视频 | 中文精品无码中文字幕无码专区 | 国产在线aaa片一区二区99 | 99久久人妻精品免费一区 | 国产sm调教视频在线观看 | 日韩人妻少妇一区二区三区 | 亚洲欧美日韩成人高清在线一区 | 国产精品香蕉在线观看 | 久久99精品久久久久婷婷 | 国产成人精品优优av | 精品无码一区二区三区爱欲 | 亚洲精品国产精品乱码视色 | 国产精华av午夜在线观看 | 国产福利视频一区二区 | 熟妇女人妻丰满少妇中文字幕 | 国产综合色产在线精品 | 国内精品一区二区三区不卡 | 日韩精品无码免费一区二区三区 | 精品国产麻豆免费人成网站 | 一本久久伊人热热精品中文字幕 | 男女下面进入的视频免费午夜 | 中文亚洲成a人片在线观看 | 领导边摸边吃奶边做爽在线观看 | 少女韩国电视剧在线观看完整 | 99re在线播放 | 装睡被陌生人摸出水好爽 | 亚洲色www成人永久网址 | 国产午夜亚洲精品不卡下载 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 日韩少妇内射免费播放 | 99久久婷婷国产综合精品青草免费 | 国内少妇偷人精品视频 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 人人澡人人透人人爽 | 精品夜夜澡人妻无码av蜜桃 | 精品一二三区久久aaa片 | 亚洲国产精品无码一区二区三区 | 久久婷婷五月综合色国产香蕉 | 精品午夜福利在线观看 | 国产莉萝无码av在线播放 | 欧美黑人巨大xxxxx | 欧美自拍另类欧美综合图片区 | 无码一区二区三区在线 | 在线观看免费人成视频 | 国产成人无码av在线影院 | 国内精品九九久久久精品 | 一本久久a久久精品vr综合 | 又色又爽又黄的美女裸体网站 | 国产 浪潮av性色四虎 | 无码乱肉视频免费大全合集 | 国产sm调教视频在线观看 | 免费播放一区二区三区 | 国产人妻人伦精品1国产丝袜 | 国产人妻大战黑人第1集 | 欧美精品一区二区精品久久 | 最近免费中文字幕中文高清百度 | 夜夜躁日日躁狠狠久久av | 亚洲精品一区二区三区婷婷月 | 亚洲欧美色中文字幕在线 | 国产性生交xxxxx无码 | 九九综合va免费看 | 国产欧美亚洲精品a | 中文字幕无码日韩欧毛 | 国产精品久久久久久久9999 | 欧美第一黄网免费网站 | 国产精品无码mv在线观看 | 国产精品-区区久久久狼 | 强伦人妻一区二区三区视频18 | 亚洲精品一区二区三区大桥未久 | 色综合久久网 | 国产精品国产自线拍免费软件 | 夜夜夜高潮夜夜爽夜夜爰爰 | 日本又色又爽又黄的a片18禁 | 亚洲国产精品久久久久久 | 自拍偷自拍亚洲精品10p | 亚洲理论电影在线观看 | 久久久久久久久蜜桃 | 免费观看激色视频网站 | 久久久中文字幕日本无吗 | 久久午夜无码鲁丝片午夜精品 | 青青草原综合久久大伊人精品 | 久久人人爽人人爽人人片ⅴ | 99久久精品国产一区二区蜜芽 | 丰满妇女强制高潮18xxxx | 国产无av码在线观看 | 中文字幕日产无线码一区 | 亚洲色欲色欲欲www在线 | 亚洲中文字幕无码中文字在线 | 欧美人与牲动交xxxx | 色综合久久久无码网中文 | 国产精品久久久 | 2020久久香蕉国产线看观看 | 国产一区二区不卡老阿姨 | 日韩欧美中文字幕公布 | 国产av剧情md精品麻豆 | 内射欧美老妇wbb | 美女毛片一区二区三区四区 | 成人性做爰aaa片免费看 | 国产精品人人爽人人做我的可爱 | 伊在人天堂亚洲香蕉精品区 | 国产成人精品一区二区在线小狼 | 久久精品中文字幕大胸 | 麻豆md0077饥渴少妇 | 丁香啪啪综合成人亚洲 | 国产亚洲精品久久久久久国模美 | 成人免费视频在线观看 | 东京热一精品无码av | 久久精品成人欧美大片 | 少妇邻居内射在线 | аⅴ资源天堂资源库在线 | 日韩欧美中文字幕公布 | 狂野欧美性猛交免费视频 | 欧美老妇交乱视频在线观看 | 精品一区二区三区无码免费视频 | 女人被爽到呻吟gif动态图视看 | 乱码午夜-极国产极内射 | 欧美熟妇另类久久久久久多毛 | 亚洲 日韩 欧美 成人 在线观看 | 一区二区三区高清视频一 | 色欲av亚洲一区无码少妇 | 亚洲经典千人经典日产 | 欧美老妇交乱视频在线观看 | 天堂а√在线地址中文在线 | 国产精品成人av在线观看 | 美女毛片一区二区三区四区 | 野狼第一精品社区 | 国产精品久久久久久久9999 | 中文无码伦av中文字幕 | 国产精品手机免费 | 久精品国产欧美亚洲色aⅴ大片 | 亚洲国产欧美日韩精品一区二区三区 | 亚洲欧洲无卡二区视頻 | 精品久久久久久人妻无码中文字幕 | 小sao货水好多真紧h无码视频 | 人人爽人人澡人人高潮 | 精品国产麻豆免费人成网站 | 麻豆蜜桃av蜜臀av色欲av | 精品国产成人一区二区三区 | 日韩欧美中文字幕在线三区 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 国产av剧情md精品麻豆 | 久久久中文字幕日本无吗 | а天堂中文在线官网 | 好爽又高潮了毛片免费下载 | 成人精品视频一区二区 | 国产成人久久精品流白浆 | 亚洲精品国产a久久久久久 | 精品无人国产偷自产在线 | 亚洲aⅴ无码成人网站国产app | 午夜精品久久久久久久久 | 亚洲国产av精品一区二区蜜芽 | 国产精品无码一区二区桃花视频 | 国内少妇偷人精品视频免费 | 国产亚洲精品精品国产亚洲综合 | 巨爆乳无码视频在线观看 | 骚片av蜜桃精品一区 | 熟妇女人妻丰满少妇中文字幕 | 波多野结衣乳巨码无在线观看 | 在线а√天堂中文官网 | 久久亚洲精品成人无码 | 在线看片无码永久免费视频 | 欧洲精品码一区二区三区免费看 | 亚洲 高清 成人 动漫 | 麻豆国产97在线 | 欧洲 | 荡女精品导航 | 精品一二三区久久aaa片 | 国产无遮挡又黄又爽又色 | 国产精品va在线播放 | 久久精品人人做人人综合试看 | 成人免费视频在线观看 | 暴力强奷在线播放无码 | 天天拍夜夜添久久精品 | 午夜福利不卡在线视频 | 国产69精品久久久久app下载 | 亚洲精品一区国产 | 在线播放免费人成毛片乱码 | 又粗又大又硬又长又爽 | 欧美猛少妇色xxxxx | 亚洲精品久久久久中文第一幕 | ass日本丰满熟妇pics | 人妻夜夜爽天天爽三区 | 在线播放免费人成毛片乱码 | 亚洲伊人久久精品影院 | 日本大香伊一区二区三区 | 欧美国产日韩久久mv | 亚洲第一网站男人都懂 | 亚洲国产av精品一区二区蜜芽 | 欧美黑人乱大交 | 国产97人人超碰caoprom | 日本熟妇乱子伦xxxx | 两性色午夜视频免费播放 | 丝袜足控一区二区三区 | 亚洲精品无码人妻无码 | 国产黑色丝袜在线播放 | 国产精品福利视频导航 | 俺去俺来也www色官网 | 波多野结衣 黑人 | 亚洲综合无码一区二区三区 | 亚洲国产精品无码一区二区三区 | 精品亚洲成av人在线观看 | 精品一区二区三区无码免费视频 | 国产成人无码区免费内射一片色欲 | 狠狠躁日日躁夜夜躁2020 | 熟女少妇人妻中文字幕 | 欧美zoozzooz性欧美 | 美女极度色诱视频国产 | 国产激情精品一区二区三区 | 国产精品内射视频免费 | 香蕉久久久久久av成人 | 日欧一片内射va在线影院 | 亚拍精品一区二区三区探花 | 久久精品视频在线看15 | 377p欧洲日本亚洲大胆 | 亚洲一区二区三区香蕉 | 无码福利日韩神码福利片 | 欧美老熟妇乱xxxxx | 国产在线无码精品电影网 | 亚洲午夜福利在线观看 | 亚洲va中文字幕无码久久不卡 | 97精品人妻一区二区三区香蕉 | 亚洲 日韩 欧美 成人 在线观看 | 国产乱码精品一品二品 | 奇米影视888欧美在线观看 | 鲁一鲁av2019在线 | 精品国产av色一区二区深夜久久 | 国产精品久久国产精品99 | 国产亚洲精品久久久久久大师 | 人人妻人人藻人人爽欧美一区 | 成人无码视频在线观看网站 | 欧美人与善在线com | 樱花草在线播放免费中文 | 欧美精品在线观看 | 日韩精品无码一本二本三本色 | 人人妻人人澡人人爽欧美一区九九 | 四十如虎的丰满熟妇啪啪 | 欧美亚洲日韩国产人成在线播放 | 国产亚av手机在线观看 | 熟妇人妻无乱码中文字幕 | 亚洲第一网站男人都懂 | 色综合久久久久综合一本到桃花网 | 亚洲精品无码人妻无码 | 97无码免费人妻超级碰碰夜夜 | 乱中年女人伦av三区 | 无码av最新清无码专区吞精 | 无码成人精品区在线观看 | 少妇无码一区二区二三区 | 日本护士毛茸茸高潮 | 中文字幕乱码亚洲无线三区 | 免费观看的无遮挡av | 人妻少妇精品无码专区动漫 | 国产亚洲精品久久久久久大师 | 在线观看国产一区二区三区 | 亚洲国产成人a精品不卡在线 | 55夜色66夜色国产精品视频 | aⅴ亚洲 日韩 色 图网站 播放 | 国产乱人伦av在线无码 | 国产精品亚洲一区二区三区喷水 | 内射后入在线观看一区 | 野外少妇愉情中文字幕 | 国产超级va在线观看视频 | 成熟女人特级毛片www免费 | 日产精品99久久久久久 | 双乳奶水饱满少妇呻吟 | 亚洲国产欧美国产综合一区 | 久久zyz资源站无码中文动漫 | 欧美精品一区二区精品久久 | 99riav国产精品视频 | 领导边摸边吃奶边做爽在线观看 | 日产精品99久久久久久 | 精品无码一区二区三区的天堂 | 中文字幕久久久久人妻 | 国产小呦泬泬99精品 | 国产精品资源一区二区 | 免费播放一区二区三区 | 小泽玛莉亚一区二区视频在线 | 久久精品女人的天堂av | 呦交小u女精品视频 | 又色又爽又黄的美女裸体网站 | 婷婷综合久久中文字幕蜜桃三电影 | 牲欲强的熟妇农村老妇女视频 | 午夜福利一区二区三区在线观看 | 国内少妇偷人精品视频免费 | 日本一卡二卡不卡视频查询 | 玩弄人妻少妇500系列视频 | 久久国产精品精品国产色婷婷 | 久久婷婷五月综合色国产香蕉 | 亚洲一区二区三区 | 国精品人妻无码一区二区三区蜜柚 | 十八禁真人啪啪免费网站 | 久久久国产精品无码免费专区 | 成年女人永久免费看片 | 青青青爽视频在线观看 | 樱花草在线社区www | 在线成人www免费观看视频 | 亚洲理论电影在线观看 | 狠狠色丁香久久婷婷综合五月 | 人人妻人人澡人人爽人人精品浪潮 | 无遮挡国产高潮视频免费观看 | 色一情一乱一伦一视频免费看 | 亚洲人成无码网www | 久久99国产综合精品 | 曰韩无码二三区中文字幕 | 大地资源网第二页免费观看 | 偷窥村妇洗澡毛毛多 | 国产亚洲精品久久久ai换 | 桃花色综合影院 | 亚洲人成无码网www | 任你躁在线精品免费 | 老司机亚洲精品影院 | 性生交片免费无码看人 | 老司机亚洲精品影院无码 | 亚洲午夜无码久久 | 国产suv精品一区二区五 | 久久久久99精品国产片 | 国产亚洲精品久久久闺蜜 | 无遮无挡爽爽免费视频 | 色欲av亚洲一区无码少妇 | 亚洲国产综合无码一区 | 精品国精品国产自在久国产87 | 日本免费一区二区三区最新 | 亚洲熟悉妇女xxx妇女av | 无码人妻av免费一区二区三区 | 欧美性黑人极品hd | 国产色在线 | 国产 | 300部国产真实乱 | 午夜精品一区二区三区在线观看 | 久久精品99久久香蕉国产色戒 | 亚洲伊人久久精品影院 | 牲欲强的熟妇农村老妇女视频 | www国产亚洲精品久久久日本 | 人人妻人人澡人人爽欧美精品 | 四虎影视成人永久免费观看视频 | 久久精品国产一区二区三区肥胖 | 久久久久av无码免费网 | 精品国产aⅴ无码一区二区 | 粗大的内捧猛烈进出视频 | 在线观看国产午夜福利片 | 亚洲成熟女人毛毛耸耸多 | 久久久婷婷五月亚洲97号色 | 中文字幕av日韩精品一区二区 | 51国偷自产一区二区三区 | 午夜熟女插插xx免费视频 | 激情五月综合色婷婷一区二区 | 亚洲综合伊人久久大杳蕉 | av在线亚洲欧洲日产一区二区 | 精品成在人线av无码免费看 | 性生交大片免费看女人按摩摩 | 欧美精品在线观看 | 午夜精品一区二区三区在线观看 | 成人一在线视频日韩国产 | 任你躁在线精品免费 | 麻豆果冻传媒2021精品传媒一区下载 | 国产精品毛片一区二区 | 少妇久久久久久人妻无码 | 国产成人无码区免费内射一片色欲 | 中文久久乱码一区二区 | 国产精品-区区久久久狼 | 国产精品亚洲一区二区三区喷水 | 亚洲色欲久久久综合网东京热 | 国内揄拍国内精品少妇国语 | 亚洲国产av精品一区二区蜜芽 | 一二三四在线观看免费视频 | 国精产品一品二品国精品69xx | 97久久超碰中文字幕 | 亚洲精品成人福利网站 | 无码一区二区三区在线观看 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 两性色午夜视频免费播放 | 日本一区二区三区免费播放 | 欧美黑人巨大xxxxx | 丰满少妇人妻久久久久久 | 色一情一乱一伦一视频免费看 | 亚洲精品鲁一鲁一区二区三区 | 国产97在线 | 亚洲 | 久久人人爽人人人人片 | 久久亚洲精品中文字幕无男同 | 亚洲一区av无码专区在线观看 | 国产精品二区一区二区aⅴ污介绍 | 99精品无人区乱码1区2区3区 | 久久精品国产一区二区三区 | 人妻尝试又大又粗久久 | 久久亚洲a片com人成 | 俺去俺来也www色官网 | 露脸叫床粗话东北少妇 | 伊在人天堂亚洲香蕉精品区 | 97久久超碰中文字幕 | 亚洲区小说区激情区图片区 | 水蜜桃色314在线观看 | 国产后入清纯学生妹 | 波多野结衣aⅴ在线 | 丁香啪啪综合成人亚洲 | 亚洲精品鲁一鲁一区二区三区 | 国产精品久久久久久无码 | 久久精品成人欧美大片 | 红桃av一区二区三区在线无码av | 99麻豆久久久国产精品免费 | 国产精品嫩草久久久久 | 狠狠躁日日躁夜夜躁2020 | 成人av无码一区二区三区 | 亚洲精品中文字幕久久久久 | 啦啦啦www在线观看免费视频 | 精品无码国产一区二区三区av | 超碰97人人做人人爱少妇 | 亚洲欧美精品aaaaaa片 | 久久99精品久久久久久动态图 | 人人妻人人澡人人爽欧美一区九九 | 免费看男女做好爽好硬视频 | 性史性农村dvd毛片 | 精品国产精品久久一区免费式 | 欧美成人家庭影院 | 内射老妇bbwx0c0ck | 久久亚洲中文字幕精品一区 | 亚洲精品一区二区三区大桥未久 | 爆乳一区二区三区无码 | 亚洲国产一区二区三区在线观看 | 中文字幕无码免费久久99 | 无码人中文字幕 | 精品欧洲av无码一区二区三区 | 日本精品人妻无码77777 天堂一区人妻无码 | 伊人久久婷婷五月综合97色 | 亚洲成色在线综合网站 | 老太婆性杂交欧美肥老太 | 狂野欧美性猛xxxx乱大交 | 欧美激情一区二区三区成人 | 国产人妖乱国产精品人妖 | 色欲av亚洲一区无码少妇 | 台湾无码一区二区 | 久久成人a毛片免费观看网站 | 亚洲一区二区三区在线观看网站 | 国产精品高潮呻吟av久久 | 亚洲娇小与黑人巨大交 | 色综合久久久久综合一本到桃花网 | 亚洲男人av香蕉爽爽爽爽 | 亚洲乱码日产精品bd | 国产成人精品无码播放 | 色婷婷久久一区二区三区麻豆 | 最新国产麻豆aⅴ精品无码 | 人人爽人人澡人人高潮 | 老子影院午夜精品无码 | 强辱丰满人妻hd中文字幕 | 日韩人妻系列无码专区 | 日韩欧美中文字幕公布 | ass日本丰满熟妇pics | 高潮毛片无遮挡高清免费 | 乱码av麻豆丝袜熟女系列 | 国产人妻久久精品二区三区老狼 | 天天做天天爱天天爽综合网 | 久久久av男人的天堂 | 少妇被粗大的猛进出69影院 | 欧美熟妇另类久久久久久多毛 | 亚洲人成无码网www | 男女下面进入的视频免费午夜 | 高清无码午夜福利视频 | 国产人妻精品一区二区三区不卡 | 国产精品亚洲一区二区三区喷水 | 波多野结衣乳巨码无在线观看 | 兔费看少妇性l交大片免费 | 日韩人妻系列无码专区 | 欧美成人免费全部网站 | 天堂一区人妻无码 | 国产成人精品无码播放 | 亚洲人成影院在线观看 | 日本一卡2卡3卡四卡精品网站 | 欧美肥老太牲交大战 | 亚洲国产综合无码一区 | 精品亚洲韩国一区二区三区 | 国产香蕉尹人综合在线观看 | 成人无码精品1区2区3区免费看 | 曰本女人与公拘交酡免费视频 | 丁香花在线影院观看在线播放 | 熟妇人妻无码xxx视频 | 精品无码国产自产拍在线观看蜜 | 99国产欧美久久久精品 | 国产黄在线观看免费观看不卡 | 在线欧美精品一区二区三区 | 午夜免费福利小电影 | 成人欧美一区二区三区黑人免费 | 中文字幕av伊人av无码av | 理论片87福利理论电影 | 欧美成人家庭影院 | 国产精品第一国产精品 | 99久久精品国产一区二区蜜芽 | 女人高潮内射99精品 | 国产av剧情md精品麻豆 | 亚洲欧美精品aaaaaa片 | 亚洲综合无码一区二区三区 | 亚洲熟妇自偷自拍另类 | 人人妻人人澡人人爽人人精品 | 国产av无码专区亚洲awww | 国产成人一区二区三区在线观看 | 国产人妖乱国产精品人妖 | 日本丰满护士爆乳xxxx | 乱人伦人妻中文字幕无码 | 国产精品第一区揄拍无码 | 美女黄网站人色视频免费国产 | 国产成人精品视频ⅴa片软件竹菊 | 任你躁国产自任一区二区三区 | 国产特级毛片aaaaaa高潮流水 | 国产精品高潮呻吟av久久4虎 | 久久五月精品中文字幕 | 亚洲天堂2017无码中文 | 国产亚洲精品久久久闺蜜 | 精品无码国产自产拍在线观看蜜 | 天天爽夜夜爽夜夜爽 | 亚洲一区av无码专区在线观看 | 国产深夜福利视频在线 | 国产成人无码av在线影院 | 牲欲强的熟妇农村老妇女视频 | 东京无码熟妇人妻av在线网址 | 一区二区三区乱码在线 | 欧洲 | 国内精品人妻无码久久久影院 | 国产av一区二区三区最新精品 | 久久精品国产99精品亚洲 | 亚洲国产精品成人久久蜜臀 | 免费观看激色视频网站 | 午夜免费福利小电影 | 东北女人啪啪对白 | 国产亚洲精品久久久久久久久动漫 | 亚洲码国产精品高潮在线 | 大地资源网第二页免费观看 | 色一情一乱一伦 | 亚洲欧美日韩成人高清在线一区 | 日本熟妇乱子伦xxxx | 最新国产乱人伦偷精品免费网站 | 97无码免费人妻超级碰碰夜夜 | 国产九九九九九九九a片 | 欧美老熟妇乱xxxxx | 久久久久亚洲精品中文字幕 | 免费观看激色视频网站 | 国产精品无码成人午夜电影 | 免费无码肉片在线观看 | 亚洲aⅴ无码成人网站国产app | 人妻体内射精一区二区三四 | 一本久久a久久精品vr综合 | 娇妻被黑人粗大高潮白浆 | 又黄又爽又色的视频 | 无码人妻av免费一区二区三区 | 久久久中文久久久无码 | 狠狠cao日日穞夜夜穞av | 99久久精品午夜一区二区 | 无码人妻av免费一区二区三区 | 久久亚洲精品中文字幕无男同 | 激情国产av做激情国产爱 | 欧美黑人巨大xxxxx | 亚洲va欧美va天堂v国产综合 | 亚洲精品www久久久 | 亚洲国产精品久久人人爱 | 亚洲欧美日韩成人高清在线一区 | 国产精品久久福利网站 | 免费观看又污又黄的网站 | 亚洲综合精品香蕉久久网 | 亚洲最大成人网站 | 国产成人无码一二三区视频 | 国产精品丝袜黑色高跟鞋 | 午夜嘿嘿嘿影院 | 精品日本一区二区三区在线观看 | 国产精华av午夜在线观看 | 亚洲欧美国产精品专区久久 | 国语自产偷拍精品视频偷 | 亚洲午夜福利在线观看 | 俺去俺来也在线www色官网 | 成人性做爰aaa片免费看不忠 | 国产精品办公室沙发 | 青春草在线视频免费观看 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 色 综合 欧美 亚洲 国产 | 日本一卡二卡不卡视频查询 | 麻豆国产丝袜白领秘书在线观看 | 亚洲精品一区国产 | 亚洲 日韩 欧美 成人 在线观看 | 一本久道高清无码视频 | 亚洲一区二区三区无码久久 | 永久免费观看国产裸体美女 | 人妻无码αv中文字幕久久琪琪布 | 天堂久久天堂av色综合 | 奇米影视7777久久精品人人爽 | 婷婷五月综合缴情在线视频 | 麻豆成人精品国产免费 | 激情五月综合色婷婷一区二区 | 国产熟妇另类久久久久 | 青青草原综合久久大伊人精品 | 无码人妻出轨黑人中文字幕 | 无码av免费一区二区三区试看 | 国产麻豆精品一区二区三区v视界 | 久久久久免费精品国产 | 色婷婷久久一区二区三区麻豆 | 日韩精品无码一本二本三本色 | 久久综合九色综合97网 | 男女下面进入的视频免费午夜 | 国产一区二区三区精品视频 | 国产超级va在线观看视频 | 色窝窝无码一区二区三区色欲 | 中文字幕人成乱码熟女app | 久久久精品成人免费观看 | 久久99精品久久久久久 | 日本www一道久久久免费榴莲 | 99国产精品白浆在线观看免费 | 97夜夜澡人人爽人人喊中国片 | 久久人人爽人人人人片 | 性欧美大战久久久久久久 | 丝袜足控一区二区三区 | 亚洲精品国偷拍自产在线观看蜜桃 | 精品久久综合1区2区3区激情 | 欧美成人免费全部网站 | 东京热男人av天堂 | 四虎影视成人永久免费观看视频 | 九九在线中文字幕无码 | 国产成人无码区免费内射一片色欲 | 狠狠色噜噜狠狠狠7777奇米 | 性色av无码免费一区二区三区 | 亚洲中文字幕av在天堂 | 老太婆性杂交欧美肥老太 | 国产成人一区二区三区在线观看 | 国产精品怡红院永久免费 | 亚洲国产日韩a在线播放 | 久久综合香蕉国产蜜臀av | 六十路熟妇乱子伦 | 无码人妻av免费一区二区三区 | 欧美黑人乱大交 | 亚洲熟妇色xxxxx亚洲 | 亚洲熟妇色xxxxx欧美老妇y | 中文字幕无码热在线视频 | 成人影院yy111111在线观看 | 久久无码人妻影院 | 成人aaa片一区国产精品 | 国产精品第一区揄拍无码 | 又大又硬又爽免费视频 | 人妻少妇精品无码专区动漫 | 国产人妖乱国产精品人妖 | 亚洲七七久久桃花影院 | 国产av一区二区精品久久凹凸 | 亚洲精品一区二区三区四区五区 | av香港经典三级级 在线 | 日本精品人妻无码免费大全 | 强奷人妻日本中文字幕 | 国内精品久久久久久中文字幕 |