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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

别再用 httpClient了,快试试这款优雅的 HTTP 客户端工具!

發布時間:2025/3/20 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 别再用 httpClient了,快试试这款优雅的 HTTP 客户端工具! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今日推薦

最適合晚上睡不著看的 8 個網站,建議收藏哦

23 種設計模式的通俗解釋,雖然有點污,但是秒懂請立即卸載這款 IDEA 插件!SQL自動檢查神器,再也不用擔心SQL出錯了,自動補全、回滾等功能大全最新 955 不加班的公司名單(2022版)

來源:juejin.im/post/6854573211426750472

大家都知道okhttp是一款由square公司開源的java版本http客戶端工具。實際上,square公司還開源了基于okhttp進一步封裝的retrofit工具,用來支持通過接口的方式發起http請求。

如果你的項目中還在直接使用RestTemplate或者okhttp,或者基于它們封裝的HttpUtils,那么你可以嘗試使用Retrofit。

retrofit-spring-boot-starter實現了Retrofit與spring-boot框架快速整合,并且支持了部分功能增強,從而極大的簡化spring-boot項目下http接口調用開發。接下來我們直接通過retrofit-spring-boot-starter,來看看spring-boot項目發送http請求有多簡單。

retrofit官方并沒有提供與spring-boot快速整合的starter。retrofit-spring-boot-starter是筆者封裝的,已在生產環境使用,非常穩定。喜歡的話給個star。

https://github.com/LianjiaTech/retrofit-spring-boot-starter

引入依賴

<dependency>????<groupId>com.github.lianjiatech</groupId>????<artifactId>retrofit-spring-boot-starter</artifactId>????<version>2.0.2</version>???? </dependency>

配置@RetrofitScan注解

你可以給帶有 @Configuration 的類配置@RetrofitScan,或者直接配置到spring-boot的啟動類上,如下:

@SpringBootApplication???? @RetrofitScan("com.github.lianjiatech.retrofit.spring.boot.test")???? public?class?RetrofitTestApplication?{????public?static?void?main(String[]?args)?{????SpringApplication.run(RetrofitTestApplication.class,?args);????}???? }

定義http接口

接口必須使用@RetrofitClient注解標記!

http相關注解可參考官方文檔:

https://square.github.io/retrofit/

@RetrofitClient(baseUrl?=?"${test.baseUrl}")???? public?interface?HttpApi?{????@GET("person")????Result<Person>?getPerson(@Query("id")?Long?id);???? }

注入使用

將接口注入到其它Service中即可使用。

@Service???? public?class?TestService?{????@Autowired????private?HttpApi?httpApi;????public?void?test()?{????//?通過httpApi發起http請求????}???? }

只要通過上述幾個步驟,就能實現通過接口發送http請求了,真的很簡單。如果你在spring-boot項目里面使用過mybatis,相信你對這種使用方式會更加熟悉。

接下來我們繼續介紹一下retrofit-spring-boot-starter更高級一點的功能。

注解式攔截器

很多時候,我們希望某個接口下的某些http請求執行統一的攔截處理邏輯。這個時候可以使用注解式攔截器。使用的步驟主要分為2步:

  • 繼承BasePathMatchInterceptor編寫攔截處理器;

  • 接口上使用@Intercept進行標注。

下面以給指定請求的url后面拼接timestamp時間戳為例,介紹下如何使用注解式攔截器。

繼承BasePathMatchInterceptor編寫攔截處理器

@Component???? public?class?TimeStampInterceptor?extends?BasePathMatchInterceptor?{????@Override????public?Response?doIntercept(Chain?chain)?throws?IOException?{????Request?request?=?chain.request();????HttpUrl?url?=?request.url();????long?timestamp?=?System.currentTimeMillis();????HttpUrl?newUrl?=?url.newBuilder()????.addQueryParameter("timestamp",?String.valueOf(timestamp))????.build();????Request?newRequest?=?request.newBuilder()????.url(newUrl)????.build();????return?chain.proceed(newRequest);????}???? }

接口上使用@Intercept進行標注

@RetrofitClient(baseUrl?=?"${test.baseUrl}")???? @Intercept(handler?=?TimeStampInterceptor.class,?include?=?{"/api/**"},?exclude?=?"/api/test/savePerson")???? public?interface?HttpApi?{????@GET("person")????Result<Person>?getPerson(@Query("id")?Long?id);????@POST("savePerson")????Result<Person>?savePerson(@Body?Person?person);???? }

上面的@Intercept配置表示:攔截HttpApi接口下/api/**路徑下(排除/api/test/savePerson)的請求,攔截處理器使用TimeStampInterceptor。

擴展注解式攔截器

有的時候,我們需要在攔截注解動態傳入一些參數,然后再執行攔截的時候需要使用這個參數。這種時候,我們可以擴展實現自定義攔截注解。

自定義攔截注解必須使用@InterceptMark標記,并且注解中必須包括include()、exclude()、handler()屬性信息。使用的步驟主要分為3步:

  • 自定義攔截注解

  • 繼承BasePathMatchInterceptor編寫攔截處理器

  • 接口上使用自定義攔截注解;

例如我們需要在請求頭里面動態加入accessKeyId、accessKeySecret簽名信息才能正常發起http請求,這個時候可以自定義一個加簽攔截器注解@Sign來實現。下面以自定義@Sign攔截注解為例進行說明。

自定義@Sign注解

@Retention(RetentionPolicy.RUNTIME)???? @Target(ElementType.TYPE)???? @Documented???? @InterceptMark???? public?@interface?Sign?{????/**????*?密鑰key????*?支持占位符形式配置。????*????*?@return????*/????String?accessKeyId();????/**????*?密鑰????*?支持占位符形式配置。????*????*?@return????*/????String?accessKeySecret();????/**????*?攔截器匹配路徑????*????*?@return????*/????String[]?include()?default?{"/**"};????/**????*?攔截器排除匹配,排除指定路徑攔截????*????*?@return????*/????String[]?exclude()?default?{};????/**????*?處理該注解的攔截器類????*?優先從spring容器獲取對應的Bean,如果獲取不到,則使用反射創建一個!????*????*?@return????*/????Class<??extends?BasePathMatchInterceptor>?handler()?default?SignInterceptor.class;???? }

擴展自定義攔截注解有以下2點需要注意:

  • 自定義攔截注解必須使用@InterceptMark標記。

  • 注解中必須包括include()、exclude()、handler()屬性信息。

實現SignInterceptor

@Component???? public?class?SignInterceptor?extends?BasePathMatchInterceptor?{????private?String?accessKeyId;????private?String?accessKeySecret;????public?void?setAccessKeyId(String?accessKeyId)?{????this.accessKeyId?=?accessKeyId;????}????public?void?setAccessKeySecret(String?accessKeySecret)?{????this.accessKeySecret?=?accessKeySecret;????}????@Override????public?Response?doIntercept(Chain?chain)?throws?IOException?{????Request?request?=?chain.request();????Request?newReq?=?request.newBuilder()????.addHeader("accessKeyId",?accessKeyId)????.addHeader("accessKeySecret",?accessKeySecret)????.build();????return?chain.proceed(newReq);????}???? }

上述accessKeyId和accessKeySecret字段值會依據@Sign注解的accessKeyId()和accessKeySecret()值自動注入,如果@Sign指定的是占位符形式的字符串,則會取配置屬性值進行注入。

另外,accessKeyId和accessKeySecret字段必須提供setter方法。

接口上使用@Sign

@RetrofitClient(baseUrl?=?"${test.baseUrl}")???? @Sign(accessKeyId?=?"${test.accessKeyId}",?accessKeySecret?=?"${test.accessKeySecret}",?exclude?=?{"/api/test/person"})???? public?interface?HttpApi?{????@GET("person")????Result<Person>?getPerson(@Query("id")?Long?id);????@POST("savePerson")????Result<Person>?savePerson(@Body?Person?person);???? }

這樣就能在指定url的請求上,自動加上簽名信息了。

連接池管理

默認情況下,所有通過Retrofit發送的http請求都會使用max-idle-connections=5 keep-alive-second=300的默認連接池。

當然,我們也可以在配置文件中配置多個自定義的連接池,然后通過@RetrofitClient的poolName屬性來指定使用。比如我們要讓某個接口下的請求全部使用poolName=test1的連接池,代碼實現如下:

1.配置連接池。

retrofit:????#?連接池配置????pool:????test1:????max-idle-connections:?3????keep-alive-second:?100????test2:????max-idle-connections:?5????keep-alive-second:?50

2.通過@RetrofitClient的poolName屬性來指定使用的連接池。

@RetrofitClient(baseUrl?=?"${test.baseUrl}",?poolName="test1")???? public?interface?HttpApi?{????@GET("person")????Result<Person>?getPerson(@Query("id")?Long?id);???? }

日志打印

很多情況下,我們希望將http請求日志記錄下來。通過@RetrofitClient的logLevel和logStrategy屬性,您可以指定每個接口的日志打印級別以及日志打印策略。

retrofit-spring-boot-starter支持了5種日志打印級別(ERROR, WARN, INFO, DEBUG, TRACE),默認INFO;支持了4種日志打印策略(NONE, BASIC, HEADERS, BODY),默認BASIC。

4種日志打印策略含義如下:

  • NONE:No logs.

  • BASIC:Logs request and response lines.

  • HEADERS:Logs request and response lines and their respective headers.

  • BODY:Logs request and response lines and their respective headers and bodies (if present).

retrofit-spring-boot-starter默認使用了DefaultLoggingInterceptor執行真正的日志打印功能,其底層就是okhttp原生的HttpLoggingInterceptor。

當然,你也可以自定義實現自己的日志打印攔截器,只需要繼承BaseLoggingInterceptor(具體可以參考DefaultLoggingInterceptor的實現),然后在配置文件中進行相關配置即可。

retrofit:????#?日志打印攔截器????logging-interceptor:?com.github.lianjiatech.retrofit.spring.boot.interceptor.DefaultLoggingInterceptor

Http異常信息格式化器

當出現http請求異常時,原始的異常信息可能閱讀起來并不友好,因此retrofit-spring-boot-starter提供了Http異常信息格式化器,用來美化輸出http請求參數,默認使用DefaultHttpExceptionMessageFormatter進行請求數據格式化。

你也可以進行自定義,只需要繼承BaseHttpExceptionMessageFormatter,再進行相關配置即可。

retrofit:????#?Http異常信息格式化器????http-exception-message-formatter:?com.github.lianjiatech.retrofit.spring.boot.interceptor.DefaultHttpExceptionMessageFormatter

調用適配器 CallAdapter

Retrofit可以通過調用適配器CallAdapterFactory將Call<T>對象適配成接口方法的返回值類型。retrofit-spring-boot-starter擴展2種CallAdapterFactory實現:

BodyCallAdapterFactory

  • 默認啟用,可通過配置retrofit.enable-body-call-adapter=false關閉

  • 同步執行http請求,將響應體內容適配成接口方法的返回值類型實例。

  • 除了Retrofit.Call<T>、Retrofit.Response<T>、java.util.concurrent.CompletableFuture<T>之外,其它返回類型都可以使用該適配器。

ResponseCallAdapterFactory

  • 默認啟用,可通過配置retrofit.enable-response-call-adapter=false關閉

  • 同步執行http請求,將響應體內容適配成Retrofit.Response<T>返回。

  • 如果方法的返回值類型為Retrofit.Response<T>,則可以使用該適配器。

Retrofit自動根據方法返回值類型選用對應的CallAdapterFactory執行適配處理!加上Retrofit默認的CallAdapterFactory,可支持多種形式的方法返回值類型:

  • Call<T>: 不執行適配處理,直接返回Call<T>對象

  • CompletableFuture<T>: 將響應體內容適配成CompletableFuture<T>對象返回

  • Void: 不關注返回類型可以使用Void。如果http狀態碼不是2xx,直接拋錯!

  • Response<T>: 將響應內容適配成Response<T>對象返回

  • 其他任意Java類型:將響應體內容適配成一個對應的Java類型對象返回,如果http狀態碼不是2xx,直接拋錯!

/**????*?Call<T>????*?不執行適配處理,直接返回Call<T>對象????*?@param?id????*?@return????*/????@GET("person")????Call<Result<Person>>?getPersonCall(@Query("id")?Long?id);????/**????*??CompletableFuture<T>????*??將響應體內容適配成CompletableFuture<T>對象返回????*?@param?id????*?@return????*/????@GET("person")????CompletableFuture<Result<Person>>?getPersonCompletableFuture(@Query("id")?Long?id);????/**????*?Void????*?不關注返回類型可以使用Void。如果http狀態碼不是2xx,直接拋錯!????*?@param?id????*?@return????*/????@GET("person")????Void?getPersonVoid(@Query("id")?Long?id);????/**????*??Response<T>????*??將響應內容適配成Response<T>對象返回????*?@param?id????*?@return????*/????@GET("person")????Response<Result<Person>>?getPersonResponse(@Query("id")?Long?id);????/**????*?其他任意Java類型????*?將響應體內容適配成一個對應的Java類型對象返回,如果http狀態碼不是2xx,直接拋錯!????*?@param?id????*?@return????*/????@GET("person")????Result<Person>?getPerson(@Query("id")?Long?id);

我們也可以通過繼承CallAdapter.Factory擴展實現自己的CallAdapter;然后將自定義的CallAdapterFactory配置成spring的bean!

自定義配置的CallAdapter.Factory優先級更高!

數據轉碼器 Converter

Retrofi使用Converter將@Body注解標注的對象轉換成請求體,將響應體數據轉換成一個Java對象,可以選用以下幾種Converter:

  • Gson: com.squareup.Retrofit:converter-gson

  • Jackson: com.squareup.Retrofit:converter-jackson

  • Moshi: com.squareup.Retrofit:converter-moshi

  • Protobuf: com.squareup.Retrofit:converter-protobuf

  • Wire: com.squareup.Retrofit:converter-wire

  • Simple XML: com.squareup.Retrofit:converter-simplexml

retrofit-spring-boot-starter默認使用的是jackson進行序列化轉換!如果需要使用其它序列化方式,在項目中引入對應的依賴,再把對應的ConverterFactory配置成spring的bean即可。

我們也可以通過繼承Converter.Factory擴展實現自己的Converter;然后將自定義的Converter.Factory配置成spring的bean!

自定義配置的Converter.Factory優先級更高!

全局攔截器 BaseGlobalInterceptor

如果我們需要對整個系統的的http請求執行統一的攔截處理,可以自定義實現全局攔截器BaseGlobalInterceptor, 并配置成spring中的bean!例如我們需要在整個系統發起的http請求,都帶上來源信息。

@Component???? public?class?SourceInterceptor?extends?BaseGlobalInterceptor?{????@Override????public?Response?doIntercept(Chain?chain)?throws?IOException?{????Request?request?=?chain.request();????Request?newReq?=?request.newBuilder()????.addHeader("source",?"test")????.build();????return?chain.proceed(newReq);????}???? }

結語

至此,spring-boot項目下最優雅的http客戶端工具介紹就結束了,更多詳細信息可以參考官方文檔:retrofit以及retrofit-spring-boot-starter。

https://github.com/LianjiaTech/retrofit-spring-boot-starter

最后,再給大家推薦一個GitHub項目,該項目整理了上千本常用技術PDF,技術書籍都可以在這里找到。

GitHub地址:https://github.com/hello-go-maker/cs-books

電子書已經更新好了,拿走不謝,記得點一個star,持續更新中...

總結

以上是生活随笔為你收集整理的别再用 httpClient了,快试试这款优雅的 HTTP 客户端工具!的全部內容,希望文章能夠幫你解決所遇到的問題。

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

亚洲国产日韩在线 | 99re中文字幕 | 国产精品免费久久久久 | 精品亚洲成人 | av天天澡天天爽天天av | 国产一区二区三区免费在线 | 欧美亚洲精品一区 | 成年人在线电影 | 亚洲五月激情 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 97人人超碰在线 | 亚洲五月综合 | 亚洲精品乱码久久久久久 | 日本久久久久久久久久久 | 欧美成人精品xxx | 国产日韩欧美网站 | 天天操夜夜操夜夜操 | 色 免费观看 | 成人av电影免费在线观看 | 男女激情片在线观看 | 久久久久久久久久久免费视频 | 久草在线免费电影 | 国产精品激情 | 国产一区二区三区四区大秀 | 亚洲成av人片在线观看无 | 黄色1级毛片 | 一区二区三区在线观看免费视频 | 黄色免费观看视频 | 久久久久久久久久久高潮一区二区 | 国产主播99 | 激情av一区二区 | 亚洲欧美激情精品一区二区 | 亚洲精品2区 | 久久久精品一区二区三区 | 欧美 另类 交 | 日韩在线高清免费视频 | 亚洲精品影院在线观看 | 中文字幕免费在线 | 激情图片qvod | 麻豆久久久| 成 人 a v天堂 | 日韩欧美xxxx | 最近2019好看的中文字幕免费 | 天天躁日日躁狠狠躁av麻豆 | 九九精品视频在线 | 欧美一级淫片videoshd | 九九热在线观看视频 | 亚洲福利精品 | wwwwww色| 狂野欧美激情性xxxx欧美 | 亚洲日日射 | 亚洲国产欧美一区二区三区丁香婷 | 久久久久一区二区三区 | 天堂av在线中文在线 | 成人国产精品av | 国产中文字幕视频在线 | 精品国产乱码久久久久久1区2匹 | 一区二区三区四区精品视频 | 69精品视频在线观看 | 毛片.com| 久久久久久久久久免费视频 | 日日婷婷夜日日天干 | 在线看成人片 | 99热在线看 | 激情 婷婷 | 国产精品美女久久久久久久 | 亚洲精品乱码白浆高清久久久久久 | 久久久久免费看 | 国产美女免费 | 日韩久久久久久久 | 久久国产精品免费观看 | 黄色软件视频网站 | 国产精品18久久久久久久网站 | 成年人视频在线 | 久久久免费精品 | 久久99九九99精品 | 亚洲视频一| 天天天天天天干 | 日韩免费视频观看 | 天天草天天草 | 丁五月婷婷 | 99午夜 | 久久天天躁夜夜躁狠狠85麻豆 | 国产精品一区二区三区在线免费观看 | 中文字幕亚洲综合久久五月天色无吗'' | 五月天视频网站 | 欧美日韩亚洲精品在线 | 久久亚洲私人国产精品va | 国产69精品久久app免费版 | 九九涩涩av台湾日本热热 | 亚洲综合情 | 91在线看免费 | 日韩在线视频免费播放 | 区一区二区三在线观看 | 在线视频第一页 | 99re久久资源最新地址 | 久久免费视频观看 | av一级二级| 天堂av最新网址 | 免费中文字幕视频 | 国产一区二三区好的 | 婷婷四房综合激情五月 | 人人爽人人爽人人片 | 在线观看国产福利片 | 黄色1级毛片 | 中文字幕在线观看完整版电影 | 天天躁天天躁天天躁婷 | bbbbb女女女女女bbbbb国产 | 日韩在线第一区 | 青春草视频在线播放 | 国产精品美女久久久久久久网站 | 欧美一级片在线免费观看 | 激情五月五月婷婷 | 国产精品视频地址 | 亚洲视频免费视频 | 五月天丁香 | 国产亚洲精品免费 | 久久久免费高清视频 | 视频成人永久免费视频 | 成人试看120秒 | 国产午夜三级 | 99久久精品国产免费看不卡 | 欧美精品xxx | 日躁夜躁狠狠躁2001 | 日韩欧美视频在线观看免费 | 国产高清视频网 | 久在线观看视频 | 国产一级大片免费看 | 青青河边草观看完整版高清 | 日本精品久久久久 | 天天射网站 | 91在线观| av经典在线 | 色婷婷狠狠五月综合天色拍 | 国产亚洲欧美精品久久久久久 | 黄色com | 国产一区不卡在线 | 九九爱免费视频在线观看 | 色婷婷五 | 又爽又黄又无遮挡网站动态图 | av电影不卡| 免费在线观看视频a | 免费a v网站 | 国产精品久久久亚洲 | 激情电影影院 | 天天看天天干 | 999久久国精品免费观看网站 | 国产精品久久久999 国产91九色视频 | 日韩字幕在线 | 亚洲理论电影 | 国产一级二级视频 | 深爱激情av | 成人av免费看 | 中文字幕在线视频网站 | 欧美999| 久久精品99精品国产香蕉 | 在线观看国产一区二区 | 97看片网| 毛片永久免费 | 99热最新 | 99视频在线观看一区三区 | 国产精品毛片一区视频 | 国产婷婷精品av在线 | 天天操网址 | 欧洲性视频| 久久美女精品 | 又污又黄的网站 | 最新日韩视频在线观看 | 久久免费黄色网址 | 五月婷婷综合久久 | 国产精品久久一区二区三区不卡 | 日韩欧美精品在线观看视频 | 国产成人777777 | 人人澡人人模 | 成人app在线免费观看 | 成人app在线播放 | 99这里都是精品 | 九九爱免费视频在线观看 | 99999精品| 日本中文字幕在线一区 | 色综合天天狠天天透天天伊人 | 久久精品二区 | 亚洲精品国产精品国自产 | 亚洲精品福利在线观看 | 久久综合九色综合97_ 久久久 | 国产a级免费 | 青青河边草免费观看 | 99免费在线视频 | 国产麻豆精品一区 | 亚洲成 人精品 | 国产精品久久久网站 | 国产精品麻豆欧美日韩ww | 人人干人人做 | 公开超碰在线 | 九九九九热精品免费视频点播观看 | 九九免费在线观看视频 | 91国内在线视频 | 国产99久久99热这里精品5 | 亚洲精品久久视频 | 狠狠干.com | 国内久久精品视频 | 男女靠逼app | 伊甸园永久入口www 99热 精品在线 | 亚洲成人av片 | 国产成人一区二 | 91精品久久久久久久91蜜桃 | 欧美成人精品在线 | 2022中文字幕在线观看 | 国产精品高潮呻吟久久av无 | 国产日韩欧美视频在线观看 | 香蕉网在线观看 | 欧美精品在线视频观看 | 丁香午夜 | 中文字幕av一区二区三区四区 | 久久久久久网址 | 国产成人一区二区啪在线观看 | 综合激情| 国产 亚洲 欧美 在线 | 国产一区二区高清不卡 | 99国产精品免费网站 | 国偷自产中文字幕亚洲手机在线 | 国产精品久久久久久久久岛 | 欧美日韩超碰 | 亚洲精品国产区 | 中文字幕亚洲精品在线观看 | 中文字幕第一页在线 | 欧美日韩精品影院 | 激情 一区二区 | 日韩理论在线视频 | 青青河边草免费观看 | 免费av黄色 | 国产视频精品免费 | 伊人天天综合 | 黄色aaa级片 | 久久精品一二三区 | 久久综合九色欧美综合狠狠 | www.五月婷婷.com | 奇米777777| 综合久久婷婷 | 午夜国产福利在线 | 四虎国产精品成人免费影视 | 亚欧日韩av | 三级av片 | 欧美日韩伦理一区 | 涩涩网站在线播放 | 成人香蕉视频 | 日韩精品一区二区三区高清免费 | 黄色成人影院 | 日韩啪啪小视频 | 国产精品免费在线播放 | 黄色视屏在线免费观看 | 毛片3 | 亚洲免费a| 亚州精品视频 | 国内久久视频 | 丁香六月久久综合狠狠色 | 天天在线免费视频 | 久久国产精品久久精品国产演员表 | 天天综合亚洲 | 国产色一区 | 高清视频一区二区三区 | 中字幕视频在线永久在线观看免费 | 久久视频精品在线观看 | 中文字幕亚洲精品日韩 | 91麻豆国产福利在线观看 | 国产又粗又猛又黄又爽 | 在线a亚洲视频播放在线观看 | 丁香六月在线 | 日韩啪啪小视频 | 久久男人影院 | 国产盗摄精品一区二区 | 欧美一区二区视频97 | 国产视频在线观看一区 | 午夜在线国产 | 亚洲欧美国产精品久久久久 | 久久www免费人成看片高清 | 久久人人97超碰国产公开结果 | 激情五月婷婷网 | 91精品人成在线观看 | 一二区电影 | 九九欧美视频 | 国产精品久久久久免费 | 久久99热这里只有精品 | 免费在线观看av不卡 | japanesexxxxfreehd乱熟| 成年人黄色在线观看 | 不卡视频国产 | 国产剧在线观看片 | 九九热免费视频在线观看 | 五月婷婷中文 | 一区二区中文字幕在线观看 | 片黄色毛片黄色毛片 | 日韩久久精品一区二区 | 中文字幕高清视频 | av黄网站 | 深爱激情五月网 | 月下香电影 | 午夜久久影视 | 91看片淫黄大片在线播放 | 国产高清不卡 | 中文字幕激情 | 婷婷在线综合 | 久久免费中文视频 | 久久综合九色综合网站 | 在线不卡视频 | 91视频 - v11av| 婷婷四房综合激情五月 | 国产精品久久一 | 天天操天天爱天天爽 | 久久99久久99精品中文字幕 | 美女精品在线观看 | 日韩专区中文字幕 | 国产亚洲精品久久 | 国产一级大片免费看 | 欧美日韩国产在线精品 | 精品高清美女精品国产区 | 亚洲国产精品一区二区久久hs | 中文国产字幕 | 久久久鲁 | 亚洲国产小视频在线观看 | 激情导航| 日日爽夜夜爽 | 精品av网站 | 天天拍天天色 | 97国产大学生情侣酒店的特点 | 碰碰影院| 婷婷播播网 | 丁香婷婷激情五月 | 日韩久久久久久久久久 | 亚洲欧美日韩精品久久久 | 在线天堂中文www视软件 | 久久精品伊人 | 999成人国产 | 一区二区三区精品在线 | 国产婷婷一区二区 | 天天操福利视频 | 在线观看av网站 | av免费黄色| 91av官网| 丁香五月亚洲综合在线 | 五月天堂色 | 日韩二区三区在线观看 | av免费在线观看网站 | 亚洲免费观看在线视频 | 国产999精品久久久影片官网 | 欧美一区二区在线刺激视频 | 亚洲dvd| 一级免费av | 在线三级av| 久久精品视频一 | 在线免费黄色av | 美女福利视频一区二区 | 亚洲区精品视频 | 国产精品视频免费看 | 中文字幕乱在线伦视频中文字幕乱码在线 | 可以免费看av | av网站地址 | 亚洲夜夜网 | av一级片在线观看 | 欧美成亚洲 | 亚洲综合激情 | 成人黄视频 | 久久综合精品一区 | 手机在线视频福利 | 香蕉影院在线播放 | 91.麻豆视频 | 国产精品免费看久久久8精臀av | 免费看毛片在线 | 中文在线免费一区三区 | 亚洲天堂网在线观看视频 | av免费在线观看网站 | 黄色1级大片 | 国产精品99免视看9 国产精品毛片一区视频 | 国模精品一区二区三区 | 国产日韩欧美在线 | 97人人模人人爽人人喊网 | 国产一级二级在线 | 亚洲免费永久精品国产 | 久久久久久久久久网站 | 免费久久精品视频 | 免费黄色a网站 | 日韩免费在线网站 | av在线a | 激情偷乱人伦小说视频在线观看 | 性色av免费在线观看 | 国产99久久久欧美黑人 | 黄色中文字幕在线 | 欧美视频在线二区 | 免费国产在线精品 | 六月色婷| 碰天天操天天 | 99久国产 | 国产精品女同一区二区三区久久夜 | 免费男女羞羞的视频网站中文字幕 | 久久精品123 | 色婷婷在线视频 | 黄色一级在线视频 | 日本资源中文字幕在线 | 国内精品久久久久 | 中文字幕在线视频国产 | 国产精品久久久久久久免费观看 | 日免费视频 | 国产+日韩欧美 | 亚洲免费av网站 | av激情五月| 91av短视频| 97影视| 特级a老妇做爰全过程 | 最近的中文字幕大全免费版 | 亚洲日本va午夜在线影院 | 日韩激情视频在线 | 日日操狠狠干 | 国产免费观看久久黄 | 在线免费看黄色 | 久草在线官网 | 日韩精品大片 | 日日夜夜91 | 日韩精选在线观看 | 波多野结衣久久精品 | 国产福利午夜 | 最近中文字幕国语免费高清6 | 国产精品夜夜夜一区二区三区尤 | 97高清视频 | 久久成人久久 | 国产中文字幕久久 | 亚洲aaa级| 91精品第一页 | 久久视频这里只有精品 | 日韩av一区二区三区在线观看 | 国产精品一区二区三区免费看 | 久久人人97超碰国产公开结果 | 日韩精品久久久 | 日韩特级片 | 久久全国免费视频 | 91精品国产92久久久久 | 五月婷婷综合在线 | 精精国产xxxx视频在线播放 | 久久理伦片| 欧美va在线观看 | 9在线观看免费 | 久久久96 | avav片 | 久久中文网 | 中文久久精品 | 日本不卡视频 | 日韩r级电影在线观看 | 日韩有码在线播放 | 99精品在线免费观看 | 欧美激情视频一区二区三区免费 | 中文av在线免费观看 | 色婷婷av一区 | 日韩电影在线观看一区 | 久久午夜视频 | 国产亚洲视频在线免费观看 | 草免费视频 | 国产精品久久久久久超碰 | 国产成人精品一区二区三区网站观看 | 三级a视频 | 在线有码中文字幕 | 日韩黄色免费电影 | 91亚洲网| 99性视频 | av免费看网站 | 992tv成人免费看片 | 久久影院一区 | 黄色91免费观看 | 欧美精彩视频在线观看 | 久草在线网址 | 亚洲国产精品视频在线观看 | 欧美日韩一区二区三区不卡 | 97超碰超碰久久福利超碰 | 亚洲国产精品第一区二区 | 亚洲成av人影院 | 日批网站免费观看 | 国产视频久 | 99热.com | 美国av大片 | 激情综合色综合久久 | 亚洲综合成人婷婷小说 | 日韩欧美一区二区不卡 | 奇米影音四色 | 国产精品九色 | av中文字幕免费在线观看 | 国产精品大片在线观看 | 免费国产一区二区视频 | 射射射av | 亚洲成av人电影 | 亚洲精品乱码久久久久v最新版 | 一区二区三区韩国免费中文网站 | 国产在线不卡精品 | 天堂av色婷婷一区二区三区 | 99精品在线视频播放 | 尤物97国产精品久久精品国产 | 免费试看一区 | 国产精品视频久久久 | 99久久久久久国产精品 | 久久一区国产 | 成人黄色在线电影 | av免费成人 | 免费福利视频导航 | 亚洲日日日 | 97在线公开视频 | 97久久久免费福利网址 | 美女网站视频色 | 久久久91精品国产 | 成人毛片100免费观看 | 黄色免费大片 | 午夜精品久久久久久久99热影院 | 国产精品欧美 | 亚洲综合在线一区二区三区 | 国产高清无av久久 | 99热精品在线观看 | 成年人电影免费看 | 四虎影视成人精品国库在线观看 | 久久精品—区二区三区 | 深夜激情影院 | 看片网站黄色 | 天天爽天天爽夜夜爽 | 精品国产乱码久久久久久浪潮 | 婷婷丁香激情网 | 精品视频一区在线观看 | 国产黄色片网站 | 国内精品久久久久影院一蜜桃 | 日韩精品一区二区三区免费观看视频 | 免费视频一区 | 激情影院在线 | 美女黄频网站 | 国产资源网| 丁香5月婷婷久久 | 国产亚洲视频在线观看 | 婷婷五月色综合 | 婷婷中文字幕在线观看 | 91av电影网| 成人av资源网站 | 黄色一级免费 | 久久久久久国产一区二区三区 | 久草视频在线资源站 | 久草视频在线观 | 97在线观看免费观看 | 天天操网站| 亚洲综合激情小说 | 狂野欧美激情性xxxx欧美 | 国产成人亚洲在线观看 | 久久手机视频 | 天无日天天操天天干 | 欧美影片| 亚洲视频h| 日韩在线免费电影 | 在线视频免费观看 | 色播99| 亚洲激情国产精品 | 999久久久国产精品 高清av免费观看 | 亚洲福利精品 | 久久精品久久久精品美女 | 欧美精品天堂 | 久久伊人精品一区二区三区 | 亚洲伊人网在线观看 | 欧美日韩网站 | 欧美日韩亚洲国产一区 | 波多野结衣视频网址 | 91九色视频 | 九九国产视频 | 日韩网站在线 | 国产精品久久久久四虎 | 国产成人三级在线 | 亚洲国产精彩中文乱码av | 中文字幕资源网在线观看 | 中文字幕av有码 | 亚洲精品乱码久久久久久高潮 | 日本爱爱免费 | 久久在线观看视频 | 天天操天天综合网 | 日日干日日 | 日韩激情在线视频 | 国产极品尤物在线 | 久久综合中文字幕 | 在线观看91精品视频 | 国产亚洲婷婷免费 | 在线播放 一区 | 久久伊人色综合 | 色a4yy| 国产精品精品国产 | 综合网av | 91成人黄色 | 久久夜夜夜 | 国内精品久久久久久久影视简单 | 亚洲精品理论片 | 91女子私密保健养生少妇 | www.狠狠干 | 久草视频在线看 | 黄色小说网站在线 | 亚洲女人天堂成人av在线 | 日日草视频 | www.国产精品 | 久久久国产一区二区三区 | 一本一本久久a久久精品综合小说 | 国产美女精品在线 | 成年人视频在线免费 | 色五月成人 | 91在线观看视频 | 国模精品一区二区三区 | 日日夜夜骑 | 亚洲成色777777在线观看影院 | 欧美精品二 | 日韩在线三区 | 国产精品2019 | 中文字幕之中文字幕 | 中文字幕一区二区三区精华液 | 日日夜夜精品视频天天综合网 | 午夜电影久久 | 国产丝袜在线 | 亚洲一区二区视频 | 又黄又爽的视频在线观看网站 | av在线一二三区 | 国产精品久久综合 | 成人免费一级 | 又黄又刺激视频 | 黄色软件在线观看免费 | 亚洲精品女人久久久 | 亚洲精品在线视频播放 | 日韩成人黄色av | 久久国产精品一区二区 | 欧洲在线免费视频 | 亚洲精选在线观看 | 这里只有精品视频在线 | 成人黄色小说网 | 香蕉视频在线视频 | 五月婷婷丁香色 | 中文字幕久久精品 | 亚洲精品国内 | 日韩av高潮 | 麻豆视频免费播放 | 午夜精品久久久99热福利 | 国产亚洲精品久久久网站好莱 | 欧美成人性战久久 | 九九电影在线 | 久久久天堂 | 中文有码在线视频 | 天天艹天天 | 国产精品久久久久久久久久三级 | 久久综合精品国产一区二区三区 | 中文在线字幕免费观看 | 久久久精品欧美 | 久久婷婷五月综合色丁香 | 久久精品国产一区 | 国产精品毛片久久久久久久久久99999999 | 狠狠gao | 久久成人免费视频 | 色综合久久88色综合天天6 | 日韩高清av在线 | www.日本色 | 四虎在线观看 | 亚洲女裸体| av福利免费| 久久久国产成人 | 久久夜色精品国产欧美乱极品 | 国产专区视频在线 | 香蕉视频91| 色婷婷视频在线 | 九九精品久久久 | 91九色精品国产 | 西西人体4444www高清视频 | 日韩免费观看av | 手机在线永久免费观看av片 | 在线小视频你懂得 | 激情狠狠干 | 日韩理论视频 | av在线免费观看黄 | 午夜婷婷在线播放 | 天天操天天干天天操天天干 | 久操97| 国产视 | 91人人澡 | 一区二区三区视频 | 免费观看www视频 | 国产美女精品视频 | 在线观看免费黄视频 | 狠狠操狠狠干天天操 | 丁香九月激情综合 | 日日夜精品 | 一区二区三区国产欧美 | 欧美地下肉体性派对 | 久久99久久99久久 | 免费精品人在线二线三线 | 在线色资源 | 美女视频久久黄 | 国产精品国产三级国产不产一地 | 伊人成人久久 | 欧美日韩高清免费 | 国产精品女人久久久 | 亚洲专区视频在线观看 | 成人黄色电影在线 | 国产在线精品福利 | 精品少妇一区二区三区在线 | 色网免费观看 | 玖玖玖精品 | 97国产超碰| 999精品视频| 中文字幕文字幕一区二区 | 日韩av电影国产 | 91香蕉视频好色先生 | 丁香六月婷婷综合 | av三级av| 免费观看视频的网站 | 国产流白浆高潮在线观看 | 成人在线免费观看视视频 | 色夜影院 | 黄污视频网站大全 | 日韩在线观看一区二区三区 | 成年人电影免费看 | 久久99久久99精品免观看软件 | 国产视频2 | 精品视频免费在线 | 人人干狠狠干 | 丁香激情网 | 亚洲欧美国内爽妇网 | 久久看片 | 成人性生交大片免费观看网站 | 97av在线 | 成人在线一区二区 | 中文字幕在线观看一区二区 | 日韩网站视频 | 96亚洲精品久久 | 91精品在线看 | 97超碰资源 | 久久精品视频免费观看 | avove黑丝 | 国产精品色在线 | 久久久久久久久久久久影院 | 成人动漫一区二区三区 | 日韩久久网站 | 久久免费高清视频 | 99re6热在线精品视频 | 欧美在线一 | 97国产超碰 | 国产亚洲精品久久久久久无几年桃 | 在线观看麻豆av | 亚洲va欧美va人人爽 | 99热这里只有精品国产首页 | 国产视频精品免费播放 | 国产精品福利在线播放 | 中文字幕乱码在线播放 | 国产精品视频一二三 | 九九免费在线观看视频 | 9797在线看片亚洲精品 | 婷婷色网站| 亚洲 欧美日韩 国产 中文 | 日韩在线视频免费看 | 三级动图 | www久久久久 | 免费视频你懂得 | 人人干狠狠操 | 黄色在线网站噜噜噜 | 亚洲区色 | 99视频在线免费播放 | 成年人视频在线免费播放 | 日韩理论在线观看 | 伊人永久在线 | 国产成人免费在线 | 婷香五月 | 免费高清男女打扑克视频 | 香蕉网站在线观看 | 亚洲jizzjizz日本少妇 | 日韩网站一区二区 | 亚洲最新视频在线播放 | av在线免费在线观看 | 亚洲精品视频一 | 少妇精69xxtheporn| 伊人五月天av | 91精品久久香蕉国产线看观看 | 又黄又爽又刺激的视频 | 91精品国产99久久久久久红楼 | a久久久久 | 免费日韩高清 | 久久a热6 | 国产日韩精品一区二区三区在线 | 91精选在线观看 | 91丨九色丨高潮 | 欧美国产日韩激情 | 天天做天天干 | 日韩精品视频免费专区在线播放 | 亚洲精品一区中文字幕乱码 | 亚洲精区二区三区四区麻豆 | 中文字幕亚洲国产 | 人人干网| 欧美日韩中文字幕综合视频 | 国产成人99av超碰超爽 | 亚洲精品一区二区三区新线路 | 最近日本韩国中文字幕 | 精品91在线 | 久草精品视频在线播放 | 精品一区精品二区高清 | 久草爱视频 | 亚洲综合一区二区精品导航 | 久久久精品国产免费观看一区二区 | 9999激情| www视频免费在线观看 | 久久日本视频 | 韩国精品在线观看 | 久久看毛片 | 97国产一区 | 一区二区三区日韩在线 | 精品视频在线视频 | 97av免费视频| 日本在线中文在线 | 99精品欧美一区二区蜜桃免费 | 国产一区二区在线视频观看 | 久久亚洲美女 | 久久久黄视频 | 国产精品久久久久久婷婷天堂 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 深夜成人av | 91精品伦理| 黄色性av| 久久只精品99品免费久23小说 | 午夜国产福利在线观看 | 国产黄a三级 | 日韩理论在线观看 | 久久久精选 | 97电影手机版 | 久草在线资源免费 | 九九视频网| 成人a在线观看高清电影 | 涩涩成人在线 | 456成人精品影院 | 青青久草在线 | 欧美一区二区三区在线观看 | 欧美精品你懂的 | 天天操伊人 | 波多野结衣亚洲一区二区 | 久久成人免费电影 | 天天干天天插伊人网 | 黄色免费视频在线观看 | 美女视频永久黄网站免费观看国产 | 免费91麻豆精品国产自产在线观看 | 欧美性极品xxxx做受 | 日本一区二区高清不卡 | 色噜噜日韩精品欧美一区二区 | 超碰在线公开免费 | 在线av资源| 一区二区视频网站 | 四虎永久网站 | 黄色视屏免费在线观看 | 四虎国产永久在线精品 | 中文字幕在线观看一区二区三区 | 精品视频在线免费 | 国产亚洲精品成人av久久影院 | 免费高清在线观看成人 | 亚洲天天做 | 日韩高清精品免费观看 | 久久手机免费观看 | 免费在线观看av不卡 | 久久精品久久久久久久 | 国产字幕在线播放 | 色香天天| 国产精品99久久免费观看 | 午夜三级理论 | www色综合| 精品一二三区视频 | 96国产在线 | 欧美视频99| 日韩欧美高清一区二区 | 91秒拍国产福利一区 | 日韩电影中文字幕在线 | 人人玩人人爽 | 亚洲成av人片在线观看 | a黄色影院 | av青草 | 久久手机免费视频 | 久久综合久久88 | 欧美成人性战久久 | 免费一级日韩欧美性大片 | 亚洲综合国产精品 | 欧美国产日韩中文 | 三级视频日韩 | 91在线观看黄 | 久久久免费看视频 | 黄色av影视| 色婷婷成人网 | 亚洲最新精品 | 中文视频在线 | 一 级 黄 色 片免费看的 | 亚洲精品乱码久久久久久蜜桃欧美 | www在线免费观看 | 夜夜夜草 | 国产精品激情 | 一区二区视频欧美 | 在线免费观看黄色大片 | 少妇性aaaaaaaaa视频 | 成人毛片在线观看视频 | 欧美色图30p | 午夜av电影院 | 亚洲国产人午在线一二区 | 五月天综合网 | 欧美最猛性xxxxx亚洲精品 | 久久精品国产99国产 | 激情小说网站亚洲综合网 | 人人舔人人爽 | 国产精品久久久影视 | 日本系列中文字幕 | 成人av高清 | 国产在线超碰 | 成年人在线观看 | 草久中文字幕 | 日韩免费电影一区二区三区 | 综合天堂av久久久久久久 | 国产永久网站 | 国产精品福利午夜在线观看 | 国产精品麻豆99久久久久久 | 久久久在线免费观看 | 亚洲精品国产自产拍在线观看 | 国产精品一区二区三区在线看 | a爱爱视频 | 成人欧美亚洲 | 国产高清日韩欧美 | 韩国av一区二区三区在线观看 | 久久精品欧美一区二区三区麻豆 | 亚洲黄色在线 | www.五月天色 | 色欲综合视频天天天 | 婷婷激情综合 | 国产精品a久久久久 | 亚洲男男gaygayxxxgv | 亚洲成人精品国产 | 中文字幕丝袜 | 日韩免费不卡视频 | 国产精品精品久久久久久 | 黄色免费网站 | 久久综合视频网 | 日韩电影在线观看一区二区三区 | 国产精品每日更新 | 成年人av在线播放 | 在线观看日韩专区 | 久久免费在线观看视频 | 伊人婷婷综合 | 亚洲综合色网站 | 欧美 日韩 性 | 久久一级片 | 国产精品激情偷乱一区二区∴ | 在线观看视频你懂的 | 99精品视频免费在线观看 | 人人爽人人爽人人爽人人爽 | 97视频人人澡人人爽 | 国产精品亚洲人在线观看 | 韩国av一区二区三区在线观看 | 久久久18 | 国产精品伦一区二区三区视频 | 国产午夜麻豆影院在线观看 | 91视频观看免费 | 一级特黄av | 亚洲综合最新在线 | 久久国产剧场电影 | 免费视频成人 | 超碰人人国产 | 中文字幕在线观看免费高清电影 | 亚洲精品国产麻豆 | 日韩三级视频在线观看 | 欧美成人91 | 欧美91精品久久久久国产性生爱 | 久久草在线精品 | 丁香伊人网 | 久久不射电影网 | 天天操偷偷干 | 国产黄在线 | 午夜电影av| 99久久99久久精品免费 | 国产高清日韩欧美 | 久草在线中文888 | 中文字幕在线观看免费高清完整版 | 99久久精品免费看国产一区二区三区 | 在线激情av电影 | 黄色一二级片 | 在线观看成人网 | 久久综合色婷婷 | 正在播放久久 | 在线免费观看视频a | 国产一级做a爱片久久毛片a | 特级a毛片| 免费观看性生活大片3 | 久久久午夜影院 | 91视频久久久久 | 国产一区二区三区黄 | 天天躁天天狠天天透 | 国产精品美女久久久 | 激情五月五月婷婷 | av福利超碰网站 | 色在线最新 | 日日草夜夜操 | 久草在线免费看视频 | 一区二区三区国 | 国产色婷婷精品综合在线手机播放 | 丁香五月网久久综合 | 久久综合五月天婷婷伊人 | 综合色影院 | 99在线免费观看 | 国产精品激情偷乱一区二区∴ | 999久久久精品视频 日韩高清www | 日韩在线观看 |