精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

JDK 內置的 HttpRequest 有坑,請繞道!

開發(fā) 前端
這篇文章,我們就來分析如何排查和解決這種錯誤,以及分析下HttpRequest的工作原理。

最近,使用了 Java 11內置的java.net.http.HttpRequest請求外部服務,發(fā)現(xiàn)日志中出現(xiàn)了很多如下圖的錯誤:

這篇文章,我們就來分析如何排查和解決這種錯誤,以及分析下HttpRequest的工作原理。

排查過程:

遇到這種問題,首先google搜索下關鍵字:java.io.IOException: HTTP/1.1 header parser received no bytes

總結下 Google查詢的結果,可以得到兩個主要原因:

  • 服務器返回空響應,導致解析 response異常
  • 網絡問題

針對第一種情況,到下游服務查看日志發(fā)現(xiàn)請求根本沒有進來,于是把原因定位到網絡問題。經過多次的測試后發(fā)現(xiàn),錯誤是有規(guī)律性的出現(xiàn),多年工作經驗的直覺告訴我,這種http請求,一定會復用連接,會不會復用了一個失效的鏈接,于是把問題再次縮小。

那么,JDK內置的HttpRequest鏈接存活的時間是多久呢?

對,找官方資料,如下鏈接和圖片:

官方默認的keepalive是1200s,是不是太大了,于是調整了 keepalive的時間,修改參數(shù)的方式:

# 方法1. 啟動指令中增加如下參數(shù)
-Djdk.httpclient.keepalive.timeout=10

# 方法2. 代碼中配置如下參數(shù)
System.setProperty("jdk.httpclient.keepalive.timeout", "10s");

很奇怪,為什么JDK沒有提供變量來設置這個參數(shù),而是作為JVM 系統(tǒng)屬性設置???不管怎樣,經過一番驗證之后,問題解決。

所以,如果有使用 JDK內置HttpRequest的小伙伴,一定要注意這個坑。

既然講到了HttpRequest,不如順道把它的工作原理也分析下。

一、 JDK 內置 HttpRequest 的實現(xiàn)原理

1. 基礎架構

JDK 內置的 HTTP 客戶端基于異步非阻塞 I/O(NIO)設計,采用了事件驅動的架構。這種設計使其能夠高效地處理大量并發(fā)連接,同時保持較低的資源消耗。HttpClient 是核心類,負責創(chuàng)建和配置 HTTP 請求,而 HttpRequest 則用于定義具體的請求細節(jié)。

2. 異步與同步請求

HttpClient 支持同步和異步兩種請求方式:

  • 同步請求:調用 send 方法,線程會被阻塞直到服務器響應返回。這種方式適用于簡單的請求場景,但在高并發(fā)環(huán)境下可能導致線程阻塞問題。
  • 異步請求:調用 sendAsync 方法,返回一個 CompletableFuture 對象,允許在請求進行時執(zhí)行其他操作,提升應用的響應性和吞吐量。

3. 支持的協(xié)議

內置 HTTP 客戶端支持 HTTP/1.1 和 HTTP/2 協(xié)議。HTTP/2 的引入帶來了多路復用、頭部壓縮和服務器推送等特性,顯著提升了傳輸效率??蛻舳藭鶕?jù)服務器支持的協(xié)議自動選擇最優(yōu)協(xié)議,確保最佳的傳輸性能。

4. 連接管理

HttpClient 內部維護著連接池,自動管理 HTTP 連接的復用和關閉。通過連接池機制,可以避免頻繁建立和關閉連接帶來的性能損耗。連接池根據(jù)請求的目標主機和協(xié)議進行分類管理,確保高效的資源利用。

5. 安全與認證

內置客戶端提供豐富的安全特性,包括 SSL/TLS 支持、證書驗證和多種認證機制(如 Basic、Digest、Bearer 認證等)。開發(fā)者可以通過配置 SSLContext 和相關認證信息,確保請求的安全性。

6. 中間件與過濾器

HttpClient 允許開發(fā)者添加自定義的過濾器和攔截器,對請求和響應進行預處理和后處理。這為實現(xiàn)日志記錄、請求重試、錯誤處理等功能提供了靈活的擴展點。

二、優(yōu)缺點

1. 優(yōu)點

  • 簡化的 API:相比于傳統(tǒng)的 HttpURLConnection,HttpClient 提供了更現(xiàn)代化和簡潔的 API,降低了使用難度和代碼復雜度。
  • 異步支持:內置的異步請求機制允許更高效地處理并發(fā)請求,提升了應用的性能和響應性。
  • 協(xié)議支持:自動支持 HTTP/2,使得應用能夠利用更高效的傳輸協(xié)議,無需額外配置。
  • 內置安全特性:豐富的安全配置選項讓開發(fā)者能夠輕松地實現(xiàn)安全的網絡通信,包括 SSL/TLS 和多種認證方式。
  • 連接池管理:自動的連接池管理減少了資源管理的負擔,提升了連接的復用性和整體性能。
  • 跨平臺一致性:作為 JDK 的一部分,HttpClient 在不同操作系統(tǒng)和環(huán)境下表現(xiàn)一致,減少了跨平臺開發(fā)的難度。

2. 缺點

  • 功能限制:雖然 HttpClient 覆蓋了大多數(shù)常見的 HTTP 功能,但在某些高級用例下,可能缺乏第三方庫(如 Apache HttpClient 或 OkHttp)提供的特定功能。
  • 版本依賴:HttpClient 是從 Java 11 開始引入的,對于使用更早版本 JDK 的項目,需要依賴外部庫來實現(xiàn)相似功能。
  • 社區(qū)和生態(tài):相比于成熟的第三方 HTTP 客戶端,JDK 內置的 HttpClient 在社區(qū)支持和生態(tài)上仍有待發(fā)展,可能缺乏某些特定場景下的最佳實踐和解決方案。
  • 性能優(yōu)化:盡管 HttpClient 已經具備良好的性能,但在極端高并發(fā)或特定優(yōu)化需求下,可能無法完全滿足專業(yè)級別的性能調優(yōu)需求。

三、核心參數(shù)

在使用 HttpRequest 時,開發(fā)者需要配置多個參數(shù)以定義請求的行為和特性。以下是一些核心參數(shù)及其說明:

1. 請求 URI

每個 HTTP 請求都需要一個目標 URI,指定資源的位置。例如:

URI uri = URI.create("https://api.example.com/data");
HttpRequest request = HttpRequest.newBuilder()
    .uri(uri)
    .build();

2. HTTP 方法

HttpRequest 支持常見的 HTTP 方法,如 GET、POST、PUT、DELETE 等??梢酝ㄟ^ method 方法或專門的快捷方法設置:

// 使用快捷方法設置 GET 請求
HttpRequest getRequest = HttpRequest.newBuilder()
    .uri(uri)
    .GET()
    .build();

// 使用 method 方法設置 POST 請求
HttpRequest postRequest = HttpRequest.newBuilder()
    .uri(uri)
    .method("POST", HttpRequest.BodyPublishers.ofString("request body"))
    .build();

3. 請求頭

可以通過 headers 方法添加一個或多個請求頭,或使用 header 方法逐個添加:

HttpRequest request = HttpRequest.newBuilder()
    .uri(uri)
    .header("Content-Type", "application/json")
    .header("Authorization", "Bearer token")
    .GET()
    .build();

4. 請求體

對于需要發(fā)送數(shù)據(jù)的請求(如 POST、PUT),需要配置請求體。HttpRequest.BodyPublisher 提供多種數(shù)據(jù)發(fā)布方式:

HttpRequest postRequest = HttpRequest.newBuilder()
    .uri(uri)
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString("{\"key\":\"value\"}"))
    .build();

支持的 BodyPublisher 包括:

  • ofString(String): 發(fā)送字符串數(shù)據(jù)
  • ofFile(Path): 發(fā)送文件內容
  • ofByteArray(byte[]): 發(fā)送字節(jié)數(shù)組
  • noBody(): 無請求體(適用于 GET 請求)

5. 超時設置

可以為請求設置超時時間,防止請求長時間掛起:

HttpRequest request = HttpRequest.newBuilder()
    .uri(uri)
    .timeout(Duration.ofSeconds(10))
    .GET()
    .build();

6. 重定向策略

通過 HttpClient 的構建器可以設置重定向的策略,如跟隨重定向、禁止重定向等:

HttpClient client = HttpClient.newBuilder()
    .followRedirects(HttpClient.Redirect.NORMAL)
    .build();

7. 優(yōu)先級

可以為請求設置優(yōu)先級,影響請求的調度順序:

HttpRequest request = HttpRequest.newBuilder()
    .uri(uri)
    .priority(10)
    .GET()
    .build();

優(yōu)先級值越高,表示請求越重要。

8. 版本協(xié)議

可以指定使用的 HTTP 版本,如 HTTP/1.1 或 HTTP/2:

HttpRequest request = HttpRequest.newBuilder()
    .uri(uri)
    .version(HttpClient.Version.HTTP_2)
    .GET()
    .build();

9. 代理設置

HttpClient 支持通過代理服務器發(fā)送請求,可以在 HttpClient 構建器中配置:

HttpClient client = HttpClient.newBuilder()
    .proxy(ProxySelector.of(new InetSocketAddress("proxy.example.com", 8080)))
    .build();

10. 身份認證

通過 Authenticator 配置認證信息,以便客戶端在需要時自動提供認證憑證:

Authenticator authenticator = new Authenticator() {
    @Override
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication("user", "password".toCharArray());
    }
};

HttpClient client = HttpClient.newBuilder()
    .authenticator(authenticator)
    .build();

四、示例分析

為了更好地理解 HttpRequest 的使用,這里提供一個簡單的示例:發(fā)送一個 POST 請求,并異步處理響應。

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;

publicclass HttpClientExample {
    public static void main(String[] args) {
        // 創(chuàng)建 HttpClient 實例,配置超時和重定向策略
        HttpClient client = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(10))
            .followRedirects(HttpClient.Redirect.NORMAL)
            .build();

        // 構建 POST 請求,設置 URI、請求頭和請求體
        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://api.example.com/data"))
            .header("Content-Type", "application/json")
            .timeout(Duration.ofSeconds(5))
            .POST(HttpRequest.BodyPublishers.ofString("{\"name\":\"John Doe\",\"age\":30}"))
            .build();

        // 發(fā)送異步請求,并處理響應
        client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
            .thenApply(HttpResponse::body)
            .thenAccept(responseBody -> {
                System.out.println("Response received:");
                System.out.println(responseBody);
            })
            .exceptionally(e -> {
                System.err.println("Request failed: " + e.getMessage());
                returnnull;
            });

        // 防止主線程提前退出
        try {
            Thread.sleep(6000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

代碼解析:

  • HttpClient 創(chuàng)建:通過 HttpClient.newBuilder() 創(chuàng)建一個 HttpClient 實例,配置了連接超時和自動跟隨標準重定向。
  • HttpRequest 構建:定義了一個 POST 請求,目標 URI 為 https://api.example.com/data,設置了 Content-Type 請求頭,并通過 BodyPublishers.ofString 發(fā)送 JSON 格式的請求體。
  • 發(fā)送異步請求:調用 sendAsync 方法發(fā)送請求,指定響應體處理器為 ofString,即將響應體轉換為字符串。
  • 處理響應:使用 thenApply 和 thenAccept 鏈式調用處理響應體,打印到控制臺。如果請求失敗,通過 exceptionally 捕獲并打印錯誤信息。
  • 主線程等待:由于請求是異步發(fā)送的,主線程需要等待一段時間以確保響應能夠處理。實際應用中,可以使用更優(yōu)雅的方式管理線程同步。

五、總結

本文,我們從使用 JDK內置的HttpRequest遇到的坑以及如何解決它,到工作原理的分析,HttpRequest為 Java 開發(fā)者提供了一個強大且易用的 HTTP 客戶端工具。但是,相比于一些成熟的第三方庫(比如 Apache HttpClient)還是稍顯不足。

因此,在使用一個工具或者框架時,最好能先了解其實現(xiàn)原理、優(yōu)缺點等,可以做到提前避免出現(xiàn)上面類似的問題,或者出現(xiàn)問題時能快速定位和解決問題。

責任編輯:趙寧寧 來源: 猿java
相關推薦

2024-05-29 08:49:45

2009-07-08 17:33:46

JDK5.0內置工具

2009-07-09 11:02:37

JDK5.0內置工具

2011-06-27 09:49:53

Windows CEAndroid

2020-05-26 13:45:46

Python函數(shù)字符串

2024-06-14 10:26:30

2015-09-15 15:51:43

惡意軟件CAPTCHA繞道

2022-03-21 19:24:15

Objects方法false

2019-03-08 09:45:49

漏洞URL惡意軟件

2020-11-03 06:57:10

MyBatis數(shù)據(jù)庫

2024-10-09 09:07:10

JVM優(yōu)化String類JDK1.6

2022-01-17 18:21:09

數(shù)據(jù)庫社交引流

2019-09-18 15:20:16

MyBatisSQL數(shù)據(jù)庫

2023-11-30 08:34:29

批量消息消息隊列

2017-06-15 13:15:39

Python協(xié)程

2020-12-21 06:15:15

程序員互聯(lián)網年齡

2022-07-19 19:53:58

Http請求AI寫詩

2021-04-07 08:00:00

Java開發(fā)工具

2025-10-10 08:23:56

2024-07-12 08:52:50

點贊
收藏

51CTO技術棧公眾號

日本xxxx黄色| 欧美日韩精品久久久免费观看| 国产亚洲精品久久久久久豆腐| 成人国产精品久久| 亚洲一区二区三区四区五区中文| 精品久久久久久一区二区里番| 天堂网中文字幕| 午夜激情久久| 日韩精品视频在线观看网址| 午夜免费福利在线| 岛国片av在线| 国产欧美精品一区| 92国产精品视频| 久久99精品波多结衣一区| 久久资源中文字幕| 亚洲精品久久久久中文字幕欢迎你| 动漫av免费观看| 啪啪免费视频一区| 国产欧美日韩亚州综合 | 欧美精品高清| 国产精品久久久久久久久久免费看| 99热99热| 一级黄色a毛片| 亚洲欧美视频| 欧美另类69精品久久久久9999| 精品无码人妻一区| 国产精品18hdxxxⅹ在线| 欧美性猛交xxxx黑人交| 丁香花在线影院观看在线播放| 亚洲视频tv| 久久这里只精品最新地址| 亚洲精品免费av| 中文字幕第三页| 欧美专区18| 久久久久免费视频| 国产女人18水真多毛片18精品| 久久99蜜桃| 欧美精品一区二区三区蜜桃| 成人三级做爰av| 久久久久久一区二区三区四区别墅| 黑人巨大精品欧美一区免费视频| 日韩不卡视频一区二区| 免费超碰在线| 国产精品污网站| 日本婷婷久久久久久久久一区二区| 风流老熟女一区二区三区| 国产一区二区精品久久| 成人精品视频久久久久| 中文字幕日韩国产| 首页国产欧美日韩丝袜| 456国产精品| 国产区在线观看视频| 在线欧美三区| 91国产在线精品| 日产电影一区二区三区| 激情久久久久久| 欧美激情亚洲视频| 久久亚洲AV无码| 国产综合久久| 久久视频在线看| 欧洲第一无人区观看| 欧美人成在线| 欧美激情一级精品国产| 国产亚洲精品成人| 亚洲韩日在线| 26uuu久久噜噜噜噜| 国产嫩bbwbbw高潮| 视频一区二区欧美| 国产精品日韩在线播放| 91免费视频播放| 精品一区二区三区视频| 91色中文字幕| 成人免费观看在线视频| 91香蕉视频黄| 五月天色一区| 国产写真视频在线观看| 亚洲午夜免费电影| 欧美日韩在线中文| 午夜无码国产理论在线| 欧美日韩精品免费观看视频| 免费黄频在线观看| youjizz欧美| 亚洲九九九在线观看| аⅴ天堂中文在线网| 欧美激情黄色片| 欧美极品少妇xxxxⅹ免费视频| 国产网址在线观看| 久久久久久婷| 91在线无精精品一区二区| 亚洲AV无码乱码国产精品牛牛| 成人动漫视频在线| 日韩欧美一区二区在线观看| 成年人网站在线| 偷窥国产亚洲免费视频| 手机看片福利日韩| 日本久久伊人| 亚洲视频欧洲视频| 欧美人禽zoz0强交| 久久精品九九| 波多野结衣精品久久| 四虎在线观看| 亚洲天堂精品在线观看| www.浪潮av.com| 亚洲色图图片| 亚洲女同精品视频| 夫妻性生活毛片| 老鸭窝毛片一区二区三区| 成人精品aaaa网站| 日本成人一区| 亚洲精品乱码久久久久| 男女男精品视频站| 国产精品成人自拍| 久久精品国产精品亚洲| 黑人精品无码一区二区三区AV| 久久精品国产免费看久久精品| 精品免费日产一区一区三区免费| 免费av在线| 91黄色免费观看| 久久性爱视频网站| 91精品国产自产在线观看永久∴| 日本国产精品视频| 丰满人妻一区二区| 日韩美女精品在线| 无码内射中文字幕岛国片| 一区二区三区视频播放| 俺去了亚洲欧美日韩| 亚洲影院在线播放| av成人免费在线观看| 日韩欧美一级在线| 欧洲精品久久久久毛片完整版| 精品性高朝久久久久久久| 国产在线观看99| 国产精品一区二区久久精品爱涩 | 2019中文字幕在线视频| 黑人精品xxx一区一二区| 午夜福利三级理论电影| 欧美一区二区三区久久精品茉莉花| 国产精品国内视频| 免费在线观看污视频| 精品久久中文字幕| 亚洲av熟女高潮一区二区| 中文字幕一区二区精品区| 国产精品视频区1| 成人av电影观看| 色欧美片视频在线观看在线视频| 国产精品无码毛片| 亚洲人成毛片在线播放女女| 99影视tv| 岛国片av在线| 亚洲精品电影网在线观看| 九九九国产视频| 成人免费毛片app| 成年人网站国产| 久草精品视频| 欧美亚洲一区在线| 欧美成人综合在线| 在线视频欧美精品| 亚洲一二三精品| 久久精品国产秦先生| 中文字幕免费高| 久久国产精品美女| 欧美大成色www永久网站婷| 国产99对白在线播放| 亚洲精品中文在线观看| 亚洲一二三四五| 亚洲黄色影片| 欧美精品一区二区三区在线四季| 欧美日韩美女| 中文字幕在线日韩| 国产农村妇女毛片精品| 亚洲永久精品大片| 亚洲国产第一区| 日韩在线观看一区二区| 一区国产精品| 日韩高清在线观看一区二区| 韩国三级日本三级少妇99| 三级在线播放| 欧美日韩黄色一区二区| 三级全黄做爰视频| av亚洲精华国产精华| 日韩视频第二页| 色婷婷亚洲mv天堂mv在影片| 亚洲一区二区三区sesese| √天堂8资源中文在线| 亚洲欧洲激情在线| 国产精品呻吟久久| 午夜a成v人精品| 五月婷婷六月香| 成人精品国产一区二区4080| 无码人妻丰满熟妇区毛片| 国产精品久久久乱弄| 国产在线一区二区三区播放| 国产一区二区主播在线| 欧美大片免费看| 你懂的在线免费观看| 日韩一区二区精品在线观看| 久久亚洲精品石原莉奈| 亚洲精选免费视频| 男人天堂av电影| 国产精品亚洲综合一区在线观看| 欧美视频第一区| 综合在线视频| 日本一区免费观看| 爱高潮www亚洲精品| 国产精品一二三视频| 国产激情视频在线看| 色多多国产成人永久免费网站| 三级在线观看网站| 欧美精品自拍偷拍动漫精品| 久久夜靖品2区| 亚洲女爱视频在线| 91精品国自产在线| 99久久精品国产导航| gogo亚洲国模私拍人体| 麻豆91小视频| 精品久久久久av| 日韩午夜高潮| 免费的一级黄色片| 99久久综合狠狠综合久久aⅴ| 久久精品一区二区三区不卡免费视频| 精品国产亚洲一区二区三区在线 | 情侣黄网站免费看| 韩日精品在线| 大桥未久一区二区三区| 第一会所sis001亚洲| 久久影视中文粉嫩av| 亚洲第一二区| 91夜夜未满十八勿入爽爽影院 | 18禁裸乳无遮挡啪啪无码免费| 国内精品伊人久久久久av影院 | 欧美 日韩 精品| 亚洲国产乱码最新视频| 美女福利视频在线观看| 国产精品久久久久久户外露出| 国产肥白大熟妇bbbb视频| 99免费精品视频| 丰满少妇xbxb毛片日本| 国产一区二区精品久久91| 久久久久久久久久久久久久久国产| 日本视频在线一区| 国产精品无码av无码| 久久九九99| 日日摸天天爽天天爽视频| 先锋亚洲精品| 欧美激情国产精品日韩| 国产视频欧美| 日韩黄色片视频| 亚洲在线黄色| 无码少妇一区二区三区芒果| 久久久夜精品| 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 久久久久久久久久久久久女国产乱| a天堂视频在线观看| 99久久精品免费看国产免费软件| 亚洲av永久无码精品| 99久久免费视频.com| 欧美老熟妇乱大交xxxxx| 久久精品亚洲乱码伦伦中文 | 亚洲私人影院在线观看| 极品盗摄国产盗摄合集| 亚洲综合一区二区三区| www.99re7.com| 精品久久久久久久久久久久久| 天堂网av手机版| 色88888久久久久久影院按摩 | 捆绑紧缚一区二区三区视频| 色天使在线观看| 国产麻豆精品在线| 黑人无套内谢中国美女| av一本久道久久综合久久鬼色| 超碰97人人干| 国产精品免费久久| 日韩一级片av| 欧美日韩国产专区| 一级特黄免费视频| 6080yy午夜一二三区久久| 亚洲精品久久久久久久久久久久久久| 亚洲成人在线视频播放| 日韩av免费观影| 一区二区在线视频| caoporn97在线视频| 久久久噜噜噜久久| 欧美free嫩15| 91手机在线播放| 亚洲人成网www| 亚洲欧洲国产精品久久| 欧美日韩爆操| 成人精品小视频| 国产一区二区三区香蕉| 成人免费av片| 亚洲日本一区二区| xxxx.国产| 91精品国产免费| 欧美视频免费一区二区三区| 久久精品视频导航| 深夜成人在线| 亚洲伊人久久综合| 亚洲人成精品久久久| 国产在线拍揄自揄拍无码| 欧美专区在线| 91成人在线观看喷潮蘑菇| 国产日韩欧美精品一区| 免费一级片在线观看| 欧美日韩国产在线观看| 人妻一区二区三区免费| 中文字幕在线精品| 性xxxxfreexxxxx欧美丶| 99在线观看视频| 欧美日韩国产高清电影| 1024av视频| 国产一区不卡在线| 亚洲图片另类小说| 亚洲国产成人va在线观看天堂| 中文字幕在线播放av| 日韩精品中文字幕在线播放| 在线看三级电影| 国产日韩欧美综合| 精品一区亚洲| 日韩精品 欧美| 粉嫩久久99精品久久久久久夜 | 欧美黄色大片在线观看| 久久精品99国产| 波多野结衣一区二区三区| 无码黑人精品一区二区| 欧美亚洲国产一区二区三区va| 天天综合网在线观看| 欧美精品精品精品精品免费| 91国产精品| 中文精品一区二区三区| 日韩电影在线一区二区三区| 亚洲中文字幕一区| 亚洲自拍偷拍欧美| 99在线精品视频免费观看软件| 色婷婷久久一区二区| 韩国三级一区| 日韩欧美视频第二区| 久久亚洲精品伦理| 丰满少妇一区二区三区| 亚洲成av人片一区二区梦乃| www.97超碰| 欧美福利视频网站| 欧美日本三级| 2022中文字幕| 国产成人av资源| 久久亚洲国产成人精品性色| 日韩欧美的一区二区| 亚洲小说区图片区都市| 亚洲在线观看视频网站| 欧美在线高清| 亚洲精品久久一区二区三区777 | 精品久久国产精品| 亚洲毛片在线免费| 在线观看免费91| 国产美女精品在线| 九九热精品免费视频| 欧美成人a在线| 嗯啊主人调教在线播放视频 | 亚洲自拍偷拍精品| 欧美日韩国产黄| 日本一本草久在线中文| 国产精品第100页| 99精品视频在线| 捷克做爰xxxⅹ性视频| 一区二区三区色| 日本精品久久久久久| 欧美亚洲视频在线观看| 欧美少妇xxxx| 一区二区三区国产好的精华液| 亚洲午夜在线视频| 五月婷婷开心中文字幕| 国产va免费精品高清在线观看| 成人a'v在线播放| 日韩av福利在线观看| 午夜精品久久久久久久久| 九色在线视频蝌蚪| 成人免费网站在线| 亚洲一级特黄| 亚洲ⅴ国产v天堂a无码二区| 7777精品久久久大香线蕉| 黑人精品视频| 日韩成人在线资源| 国产精品综合一区二区三区| 午夜精品久久久久久久久久久久久蜜桃| 亚洲天堂av女优| 日韩欧美另类中文字幕| 久久9精品区-无套内射无码| 国产精品久久久久久久久动漫| 亚洲精品视频网| 国产成人精品国内自产拍免费看 | 久久精品一本久久99精品| 91精品国产乱码久久久竹菊| 日韩av资源在线| 亚洲人吸女人奶水| 香蕉视频国产在线| 成人亚洲欧美一区二区三区| 一本一本久久| 免费中文字幕在线| 亚洲视频视频在线| 成人在线视频中文字幕| 一级特黄性色生活片|