色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網運營的一線實戰(zhàn)洞察。

C++手寫HTTP GET客戶端:socket、超時與chunked解析

C++手寫HTTP GET客戶端:socket、超時與chunked解析 簡介面向C網絡編程入門者的輕量級HTTP GET請求實現(xiàn)示例聚焦在Windows環(huán)境下從指定URL拉取數(shù)據(jù)的最小可用路徑。代碼將請求發(fā)起、響應獲取與耗時統(tǒng)計拆分組織借助頭文件聲明接口、源文件承載連接建立與數(shù)據(jù)讀取邏輯并以計時器記錄請求執(zhí)行時間便于理解一次HTTP GET從構造到回收的基本流程也可作為課程實驗或小型工具原型的基礎骨架并保留較清晰的調用關系。壓縮包共3個文件由2個頭文件和1個C源文件組成整體約2KB體量精簡適合快速通讀與二次修改。目前已有268人學習說明該主題對初學者具有一定參考價值。讀者可借此理解請求封裝、響應讀取與性能計時并據(jù)此補充超時、重定向、HTTPS與代理等擴展能力逐步形成更健壯的網絡通信模塊。1. 問題往往出在請求根本沒發(fā)出去線上排查一個接口問題服務端日志里干干凈凈一條請求都沒收到客戶端那邊只回了一句“超時”。我翻出很早以前寫的一個 http GET C 實現(xiàn)不到三百行只用系統(tǒng) socket 和標準庫兩分鐘就把問題定在了域名解析上。這個 http GET C 實現(xiàn)干的事很單一給一個 URL拼出 GET 請求收完響應把狀態(tài)碼、響應頭和正文交回來。它適合三類人想搞明白 HTTP 在網絡上究竟發(fā)了什么字節(jié)的初學者需要在命令行、嵌入式或者離線環(huán)境里做最小網絡訪問的開發(fā)者以及手里有老項目、不想為了一個下載功能就拖進整套網絡庫的人。下面按我實際拆它的順序講先看邊界在哪再看目錄和編譯然后逐段過核心代碼最后落到怎么把它改成能進項目的組件。2. 項目定位與技術選型只用標準庫和系統(tǒng) socket 的最小可用方案2.1 能力邊界先劃清楚這類小項目最怕定位模糊什么都能干最后什么都干不好。我拆的這個版本把邊界壓得很死只支持明文 HTTP/1.1只支持 GET一次請求一條連接不自動跟隨重定向不自動解壓 gzip。這些不是能力缺失是為了讓主流程能被完整讀完——一個剛接觸網絡編程的人順著一個文件從頭讀到尾就能跑通。先把這個版本能做什么、不能做什么列清楚比后面看代碼更重要。很多人在這一步就誤解了項目的能力接上 HTTPS 域名調半天沒反應回頭才發(fā)現(xiàn)協(xié)議壓根不對。能力項當前實現(xiàn)備注協(xié)議HTTP/1.1 明文走 80 端口不涉及 TLS方法僅 GET加 POST 只需改請求行和補 body連接一次一連接Connection: close不做 keep-alive 連接池重定向不跟隨301/302 直接原樣返回壓縮不聲明 gzip收到什么給什么請求頭里寫 Accept-Encoding: identity編碼原樣輸出不做轉碼中文頁面可能是 GBK依賴部分很關鍵Linux 和 macOS 上什么都不用鏈POSIX socket 在 libc 里Windows 上要額外鏈 ws2_32并且在程序啟動時調一次 WSAStartup、退出時調 WSACleanup這兩步漏了就是一堆找不到符號的鏈接錯誤。2.2 目錄結構與構建方式源文件按職責切了四塊加上一個入口。這樣切的好處是每個文件都能單獨看懂改起來也方便想加 POST 只動 request.cpp想加 chunked 解碼只動 response.cpp。tiny-http/ ├── include/ │ └── http_client.h # 對外結構體與函數(shù)聲明 ├── src/ │ ├── url.cpp # URL 拆解scheme / host / port / path │ ├── socket.cpp # DNS 解析、帶超時的 connect │ ├── request.cpp # 拼裝請求報文并發(fā)送 │ ├── response.cpp # 收數(shù)據(jù)、解析狀態(tài)行與響應頭、chunked 解碼 │ └── main.cpp # 命令行入口 ├── CMakeLists.txt └── README.md對應這份結構的 CMakeLists.txt 我一般這么寫靜態(tài)庫加可執(zhí)行文件兩段跨平臺時在 Windows 分支補鏈接項cmake_minimum_required(VERSION 3.10) project(tiny_http CXX) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_library(tinyhttp STATIC src/url.cpp src/socket.cpp src/request.cpp src/response.cpp ) target_include_directories(tinyhttp PUBLIC include) add_executable(httpget src/main.cpp) target_link_libraries(httpget PRIVATE tinyhttp) # Windows 下 socket 相關符號在 ws2_32 里不鏈必然報未定義引用 if (WIN32) target_link_libraries(tinyhttp PUBLIC ws2_32) endif()add_library(... STATIC)把四個實現(xiàn)文件打成一個靜態(tài)庫target_include_directories用 PUBLIC 把 include 目錄透出去后面加別的可執(zhí)行文件比如測試程序時不用重復寫路徑。編譯就兩條命令cmake -B build然后cmake --build build產物在 build 目錄下的 httpget。2.3 一次 GET 的完整鏈路把整個流程拆成六步每一步都有明確的失敗點排查的時候直接對著位置找解析 URL切出 host、port、path。失敗點端口沒填、路徑以//開頭、URL 里帶空格沒轉義。調 getaddrinfo 做 DNS 解析拿到 sockaddr 鏈表。失敗點域名寫錯、本地 DNS 不通、IPv6 優(yōu)先但目標沒 AAAA 記錄。建 socket 并 connect。失敗點目標端口沒開、防火墻攔截、連接超時沒設。拼請求報文send 出去。失敗點Host 頭漏了服務端直接 400只發(fā)了一半數(shù)據(jù)。recv 循環(huán)收滿響應。失敗點只 recv 一次正文少一截。解析狀態(tài)行、響應頭、正文。失敗點\r\n處理不干凈頭部鍵大小寫沒歸一。這六步里前兩步占了我遇到問題的絕大多數(shù)。尤其是第二步DNS 解析是同步阻塞的沒有超時參數(shù)網絡環(huán)境一差就卡在那兒進程看著像死了其實是卡在 getaddrinfo 里面——這是真正的黑匣子環(huán)節(jié)日志里什么都看不到。3. 核心代碼拆解從 URL 解析到 socket 連接3.1 URL 解析把字符串切成四段一切從字符串開始。這段代碼看著簡單實際上 IPv6 地址和端口缺省這兩個坑能把人折騰很久我寫的時候專門把方括號分支留了出來。#include string #include cctype #include cstdlib struct Url { std::string scheme; // http std::string host; // 域名或 IPIPv6 不帶方括號 std::string port; // 缺省時按 scheme 補 80/443 std::string path; // 含查詢串至少是 / }; static bool parse_url(const std::string raw, Url out) { std::string s raw; // 1. 拆 scheme沒有就按 http 處理 auto pos s.find(://); if (pos ! std::string::npos) { out.scheme s.substr(0, pos); for (auto c : out.scheme) c (char)std::tolower(c); s s.substr(pos 3); } else { out.scheme http; } // 2. 第一個 / 之后全是路徑沒寫就補 / auto slash s.find(/); std::string hostport (slash std::string::npos) ? s : s.substr(0, slash); out.path (slash std::string::npos) ? / : s.substr(slash); // 3. 拆 host 和 portIPv6 形如 [::1]:8080 if (!hostport.empty() hostport[0] [) { auto rb hostport.find(]); if (rb std::string::npos) return false; out.host hostport.substr(1, rb - 1); if (rb 1 hostport.size() hostport[rb 1] :) out.port hostport.substr(rb 2); } else { auto colon hostport.rfind(:); if (colon ! std::string::npos) { out.host hostport.substr(0, colon); out.port hostport.substr(colon 1); } else { out.host hostport; } } if (out.host.empty()) return false; if (out.port.empty()) out.port (out.scheme https) ? 443 : 80; return true; }幾個點值得單獨說。path在沒寫的時候必須補成/因為 HTTP 請求行里GET HTTP/1.1是非法請求很多服務端直接回 400我第一次跑就栽在這兒。IPv6 分支里我存的是去掉方括號的地址因為 getaddrinfo 認的是::1而不是[::1]。端口用rfind而不是find是為了兼容host:port后面還可能跟別的東西的情況雖然這個版本用不上但改成rfind不增加成本。參數(shù)out是引用輸出函數(shù)只返回成功與否這樣調用側不需要處理指針為空也不用考慮異常。返回值 false 的三種情況——方括號沒閉合、host 為空、整體解析不出來——在 main 里統(tǒng)一打一行 usage 提示就夠了。3.2 DNS 解析與連接超時是必須的getaddrinfo 一次拿全地址族和端口比自己調 gethostbyname 再拼 sockaddr_in 靠譜得多而且后者在現(xiàn)代代碼里已經不該出現(xiàn)。連接超時我沒用SO_SNDTIMEO那玩意兒對 connect 不生效正確做法是把 socket 設成非阻塞、connect 之后用 select 等可寫。#include sys/socket.h #include netdb.h #include unistd.h #include fcntl.h #include sys/select.h #include cerrno #include cstring int connect_with_timeout(const std::string host, const std::string port, int timeout_ms, std::string err) { struct addrinfo hints; std::memset(hints, 0, sizeof(hints)); hints.ai_family AF_UNSPEC; // IPv4 / IPv6 都接受 hints.ai_socktype SOCK_STREAM; // TCP struct addrinfo* res nullptr; int rc getaddrinfo(host.c_str(), port.c_str(), hints, res); if (rc ! 0) { err gai_strerror(rc); return -1; } int fd -1; for (auto p res; p ! nullptr; p p-ai_next) { fd socket(p-ai_family, p-ai_socktype, p-ai_protocol); if (fd 0) continue; int flags fcntl(fd, F_GETFL, 0); fcntl(fd, F_SETFL, flags | O_NONBLOCK); rc connect(fd, p-ai_addr, p-ai_addrlen); if (rc 0) { fcntl(fd, F_SETFL, flags); break; } // 本機地址立即成功 if (errno ! EINPROGRESS) { close(fd); fd -1; continue; } fd_set wfds; FD_ZERO(wfds); FD_SET(fd, wfds); struct timeval tv; tv.tv_sec timeout_ms / 1000; tv.tv_usec (timeout_ms % 1000) * 1000; rc select(fd 1, nullptr, wfds, nullptr, tv); if (rc 0) { int soerr 0; socklen_t len sizeof(soerr); getsockopt(fd, SOL_SOCKET, SO_ERROR, soerr, len); if (soerr 0) { fcntl(fd, F_SETFL, flags); break; } // 恢復阻塞 } close(fd); fd -1; } freeaddrinfo(res); // addrinfo 必須配對釋放 if (fd 0) err connect failed or timeout; return fd; }hints.ai_family寫AF_UNSPEC讓系統(tǒng)自己決定走 IPv4 還是 IPv6用AF_INET硬編碼在純 IPv6 環(huán)境里直接連不上。循環(huán)遍歷ai_next是重點一個域名可能解析出多個地址第一個不通要試第二個直接取res頭節(jié)點是新手常見寫法。select返回大于 0 只說明“有事件”不代表連接成功必須用getsockopt(SO_ERROR)再確認一次這一步漏了會出現(xiàn)“連接明明失敗但程序往下走”的詭異現(xiàn)象。連接成功后把O_NONBLOCK恢復掉后面 recv 用阻塞模式邏輯簡單。timeout_ms我一般設 5000內網環(huán)境可以降到 1000。3.3 拼請求報文CRLF、Host 頭、Connection請求報文就是一段字符串但每個換行必須是\r\n兩個字節(jié)少一個\r服務端就可能把整個請求當非法處理。std::string build_request(const Url u) { std::string req; req GET u.path HTTP/1.1\r\n; req Host: u.host \r\n; req User-Agent: tiny-http/1.0\r\n; req Accept: */*\r\n; req Accept-Encoding: identity\r\n; // 明確不要壓縮省掉解壓邏輯 req Connection: close\r\n; // 服務端回完即關讀起來不用判長度 req \r\n; // 空行報文結束標志 return req; }Host在 HTTP/1.1 里是必填項虛擬主機靠它區(qū)分后端站點漏了大概率回 400。Accept-Encoding: identity是我故意的不聲明 gzip服務端就不會壓客戶端也就不需要鏈接解壓庫整個依賴又少一層。Connection: close讓服務端發(fā)完就關連接recv 讀到 0 就代表結束不用自己算 Content-Length是這類小工具最省心的寫法。發(fā)送時有個細節(jié)send的返回值可能小于請求長度尤其是請求頭很大或者網絡擁塞時。小請求一般一次發(fā)完但我習慣寫成循環(huán)避免偶發(fā)的半包問題size_t sent 0; while (sent req.size()) { ssize_t n send(fd, req.data() sent, req.size() - sent, 0); if (n 0) { /* 記錄錯誤并退出 */ break; } sent (size_t)n; }4. 響應讀取與解析狀態(tài)行、頭部、正文三段式4.1 收數(shù)據(jù)recv 循環(huán)與內存上限一次 recv 拿到的可能只是響應頭的一部分也可能是整個響應加后半截正文絕不能假設一次收完。寫法就是循環(huán)拼接到對端關閉為止同時加一個上限防止碰上超大文件把內存吃光。std::string recv_all(int fd, size_t max_bytes 8 * 1024 * 1024) { std::string buf; char tmp[8192]; while (true) { ssize_t n recv(fd, tmp, sizeof(tmp), 0); if (n 0) { buf.append(tmp, (size_t)n); if (buf.size() max_bytes) break; // 保護性截斷 } else if (n 0) { break; // 對端關閉正常結束 } else { if (errno EINTR) continue; // 被信號打斷重試 break; // 超時或真錯誤 } } return buf; }緩沖區(qū) 8192 是個經驗值太小系統(tǒng)調用次數(shù)多太大棧上占用高。EINTR那行必須留著某些環(huán)境下信號會打斷 recv不重試就會拿到半截數(shù)據(jù)還以為收完了。max_bytes默認 8MB超過就停返回的內容雖然不完整但程序不會崩——下載大文件應該走邊收邊寫的路子不該用這個函數(shù)。另外如果 socket 上設了SO_RCVTIMEO超時后 recv 返回 -1 且 errno 為EAGAIN或EWOULDBLOCK這里會走到 break調用方看到的是“短響應”需要自己根據(jù)狀態(tài)判斷是超時還是正常結束。4.2 解析狀態(tài)行與響應頭響應分成三段狀態(tài)行、若干頭部行、空行之后的正文。用\r\n\r\n定位頭部結束位置是最穩(wěn)的做法比逐行掃描簡單。#include map #include sstream #include algorithm struct Response { int status 0; std::string reason; std::mapstd::string, std::string headers; // 鍵統(tǒng)一轉小寫 std::string body; }; static std::string to_lower(std::string s) { std::transform(s.begin(), s.end(), s.begin(), [](unsigned char c) { return (char)std::tolower(c); }); return s; } static std::string trim(const std::string s) { size_t b s.find_first_not_of( \t); if (b std::string::npos) return ; size_t e s.find_last_not_of( \t\r); return s.substr(b, e - b 1); } bool parse_response(const std::string raw, Response resp) { auto head_end raw.find(\r\n\r\n); if (head_end std::string::npos) return false; // 響應頭都不完整 std::istringstream ss(raw.substr(0, head_end)); std::string line; std::getline(ss, line); // 狀態(tài)行 if (!line.empty() line.back() \r) line.pop_back(); auto sp1 line.find( ); // HTTP/1.1 200 OK if (sp1 std::string::npos) return false; auto sp2 line.find( , sp1 1); resp.status std::atoi(line.substr(sp1 1, sp2 - sp1 - 1).c_str()); if (sp2 ! std::string::npos) resp.reason line.substr(sp2 1); while (std::getline(ss, line)) { // 逐個頭字段 if (!line.empty() line.back() \r) line.pop_back(); if (line.empty()) continue; auto colon line.find(:); if (colon std::string::npos) continue; resp.headers[to_lower(trim(line.substr(0, colon)))] trim(line.substr(colon 1)); } resp.body raw.substr(head_end 4); // 剩下的就是正文 return true; }頭部鍵統(tǒng)一轉小寫是關鍵設計。RFC 里頭部名不區(qū)分大小寫實際服務端有的發(fā)Content-Type有的發(fā)content-type不歸一的話查詢會落空。trim里順帶把\r也去掉因為某些 getline 實現(xiàn)會把\r留在行尾。resp.body這里直接取剩余全部字節(jié)前提是用了Connection: close。如果以后改成 keep-alive這里就得改成按Content-Length精確切否則會把下一個響應也吃進來。4.3 正文邊界Content-Length 與 chunked大部分響應帶Content-Length但有一類響應會帶Transfer-Encoding: chunked正文被切成一塊塊每塊前面是十六進制的長度。不處理的話輸出里會混進1a2b\r\n這種字符這是最容易被誤判成“亂碼”的坑。// in: 原始正文含 chunk 頭out: 解碼后的凈正文 bool dechunk(const std::string in, std::string out) { size_t pos 0; out.clear(); while (pos in.size()) { auto eol in.find(\r\n, pos); if (eol std::string::npos) return false; std::string size_line in.substr(pos, eol - pos); auto semi size_line.find(;); // 可能有 chunk 擴展參數(shù) if (semi ! std::string::npos) size_line size_line.substr(0, semi); size_t chunk_size std::strtoul(size_line.c_str(), nullptr, 16); pos eol 2; if (chunk_size 0) return true; // 結束塊 if (pos chunk_size in.size()) return false; // 數(shù)據(jù)還沒收全 out.append(in, pos, chunk_size); pos chunk_size 2; // 跳過數(shù)據(jù)尾巴的 \r\n } return false; }strtoul第三個參數(shù)寫 16 表示按十六進制解析長度字段本來就是 hex。返回 false 有兩種含義數(shù)據(jù)沒收全或者格式不對調用側可以選擇再 recv 一輪或者直接報錯。結束塊之后理論上還可能跟 trailer 頭這個版本直接忽略夠用。調用順序很講究先解析頭部再判斷Transfer-Encoding是否含chunked含才走解碼否則原樣輸出。判斷時要把值轉小寫再find因為有的服務端寫Chunked。5. 排查清單把程序跑通前大概率會遇到的五個坑5.1 程序卡住不返回連錯誤都沒有現(xiàn)象命令行敲下去光標一直閃幾分鐘都不動CtrlC 才能退出日志里一個字都沒有。原因兩條路都可能阻塞——getaddrinfo 不受任何超時控制DNS 服務器不通就會卡在這兒connect 在默認阻塞模式下目標不可達時會等系統(tǒng)級超時動輒一兩個分鐘。這兩個位置都不打日志看上去就是“死機”。解決連接超時按 3.2 節(jié)用非阻塞加 select 實現(xiàn)日志在解析前后各打一行就能立刻看出卡在哪一步。getaddrinfo 本身沒法設超時工程上的做法是把它扔到獨立線程里主線程等結果超過閾值就放棄——雖然線程收不回來但至少主流程能繼續(xù)。5.2 服務端返回 400但請求看起來沒問題現(xiàn)象自己拼的請求發(fā)出去回來的狀態(tài)碼是 400把同樣的 URL 丟瀏覽器里完全正常。原因九成是Host頭缺失或者請求行里的路徑沒寫全。HTTP/1.1 強制要求 Host虛擬主機環(huán)境下沒有 Host 服務端不知道該給哪個站點。另一種情況是路徑寫成了空字符串請求行變成GET HTTP/1.1兩個空格連著解析直接失敗。解決把實際發(fā)出的報文用十六進制方式打出來看重點檢查每一行結尾是不是\r\n兩個字節(jié)、空行有沒有、Host 值是不是純域名不帶http://前綴和端口以外的多余字符。5.3 正文比預期少一截或者末尾混進奇怪字符現(xiàn)象抓下來的 HTML 尾部缺了幾個標簽或者正文里出現(xiàn)3f\r\n這類十六進制字符串。原因前者是只調用了一次 recv拿到的只是第一段數(shù)據(jù)后者是響應用了 chunked 編碼但沒解碼長度行被當成正文輸出了。解決recv 必須循環(huán)到返回 0同時看響應頭里有沒有Transfer-Encoding: chunked。加日志把每次 recv 的字節(jié)數(shù)和累計長度打出來一眼就能看出是提前退出還是解碼漏了。5.4 編譯過了鏈接階段一堆未定義符號現(xiàn)象Linux 下編譯運行正常拿到 Windows 上編譯通過鏈接報找不到socket、connect、getaddrinfo之類。原因Windows 的 socket API 在 ws2_32 庫和 winsock2.h 里和 POSIX 不是一套而且進程啟動時必須調WSAStartup否則所有 socket 調用直接失敗。解決頭文件包含改成條件編譯Windows 走winsock2.h并鏈ws2_32同時在 main 開頭調WSAStartup(MAKEWORD(2, 2), wsa)退出前調WSACleanup()。注意包含順序winsock2.h必須在windows.h前面否則會帶進老的 winsock1 定義。5.5 中文頁面抓下來是亂碼現(xiàn)象英文頁面一切正常中文頁面輸出成一片問號或者奇怪的符號組合。原因這個實現(xiàn)把字節(jié)原樣輸出不做任何轉碼。如果響應頭里Content-Type帶的是charsetgbk而終端按 UTF-8 顯示就必然亂碼。解決先看Content-Type里的 charset再決定怎么處理。最省事的做法是在請求頭里加Accept-Language并優(yōu)先挑 UTF-8 的站點真要做轉換就得引入編碼轉換庫那已經超出這個項目的最小定位了我一般建議在調用側解決。6. 二次開發(fā)把它收斂成一個能進項目的類單文件 main 跑通之后下一步一定是包裝。我的做法是把 fd 的生命周期收進 RAII 類里外面只看到一個get(url)接口錯誤用返回值加錯誤串往外拋不折騰異常。class HttpClient { public: explicit HttpClient(int timeout_ms 5000) : timeout_ms_(timeout_ms) {} bool get(const std::string url, Response resp, std::string err) { Url u; if (!parse_url(url, u)) { err bad url; return false; } if (u.scheme ! http) { err scheme not supported; return false; } int fd connect_with_timeout(u.host, u.port, timeout_ms_, err); if (fd 0) return false; bool ok false; std::string req build_request(u); if (send_all(fd, req)) { // 內部循環(huán)處理短寫 std::string raw recv_all(fd); ok parse_response(raw, resp); if (ok is_chunked(resp)) ok dechunk(resp.body, resp.body); // 成功后原地替換 } else { err send failed; } close(fd); // 析構前統(tǒng)一關閉 return ok; } private: int timeout_ms_; };封裝時有三個點別省。第一close(fd)一定要在所有分支上都覆蓋到我見過太多在錯誤分支直接 return 導致句柄泄漏的代碼跑久了文件描述符耗盡報的錯還跟網絡毫無關系。第二send_all內部循環(huán)處理短寫把這段從業(yè)務邏輯里挪出去。第三dechunk支持原地替換時要小心實現(xiàn)簡單起見可以先解到臨時串再 swap。改完之后驗證方法很樸素拿幾個已知行為的地址跑一遍——一個返回固定長度正文的、一個返回 chunked 的、一個會 302 跳轉的、一個不存在的域名。四個用例覆蓋了正常路徑和三類異常每次改動后全跑一遍比盯著代碼看有效得多。擴展路線按需要挑別一次全加需求改動位置大致工作量支持 POSTrequest.cpp 加請求行和 Content-Length半小時自動跟隨 302外層循環(huán)最多跟 5 跳一小時支持 HTTPS連接層換成 TLS 握手端口改 443半天起大文件下載recv 改成邊收邊寫文件一小時連接復用加連接池解析改按 Content-Length 切一天最后說個血淚經驗。這套代碼我前后改過三四版每次都是圖快跳過“把請求報文原樣打出來看一眼”這一步結果在 Host 頭、路徑斜杠、CRLF 這些地方反復翻車。從那以后我每次動到請求拼裝相關代碼都強制把完整報文用十六進制打一遍再走后續(xù)流程這個習慣救回來的時間遠超它花掉的幾秒。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲欧美不卡线| 欧亚第一综合网| 发朗少妇买婬全视频中文| 欧洲天天在线| 精品然女一区二区| 欧美97视频| 人妻熟女一区二区| 欧美色97| 2019久久久久久久久福利| 丁香五月综合| 天天综合网久久ww| 国产精品一区在线播放| 69XX一中文字幕人妻91| 在线无码操| 国产精品色色| 涩涩涩综合| 熟女激情综合网| 少妇一线天久久久久久| 日韩中文9| 日韩欧美加勒比| av绯色| 激情五月天婷婷| 久久久久久久久女黄| 亚拍在线| 加勒比伊人影院| 大香蕉乱级| 色穴精品| 精品免费1| 国产成人网| 青青国产在线拍揄自揄拍| 97精品国产97久久久久久| 香一区二区三区| 四虎影视国产精品| 成年女人18级毛片毛片免费观看| 亚洲无码一区成人免费午夜| 7777奇米影视久久| 国产suv精品一区二区四| 日韩欧美蜜桃精品久久中文字幕久久| 男人的天堂午夜av| 免费看美国人人爽,人人操 | 青青草大香蕉在线视频| 日韩特一级久久| 午夜小电影在线插入淫高潮| 免费看欧美美女黄色大片| 精品久久久av| 欧洲综合色| 国语精品内射在线观看| 嗯嗯嗯,草死我| 亚洲综合草草| 91动漫操逼视频| 殴美性色a级欧美| 无卡一区=区| 国产日韩无码一区二区三区久久区| 日本女人操逼| 黄色一区三区| 国产强奸91| 久久日韩毛| 日本一卡二区在线| 操比国产| 中国的操老妇女| 一区二区三区国产在线播放| 亚洲天堂区| 在线小说视频一区| 丰满高潮18xxxx| 婷婷色香| 日韩成人高清一区二区| 97色冈| 超碰视97中文| 久久91精品国产9丨久久分亭| 91亚洲网站| 8050午夜少妇无码| 亚洲熟女一区二区| www…国产操逼| 精品欧美日韩在线观看| 国产一区二区a毛片| 男人的天堂色偷偷青青草视频婷婷网| 翔田千里无码一区| 亚洲色图激情小说| 久久精品久久久久久久| 香蕉婷婷| 久久一区二区蜜桃| 97网址www| 久久久久亚洲Av无码专区老牛影视| 很很干很很操| 天天综合网网欲色| 天天干,天天日| 青青草玖玖爱| 精品国产肉丝袜在线拍国语| 日本久久久久久久久久| 亚洲欧美国产日本一区二区三区| 久久精品99| 一起草精品人妻| 亚洲AV色图一区| 可以免费观看的日韩av毛片| 97欧美精品综合| 国产97色在线| 97干在线看| 91在线视频国产网站| 久操黄色视频| 欧美日韩不卡a片| 久操在97| 亚洲偷拍自拍在线视频| 91视频女生| 一起草精品人妻| 青青草中出视频 | 人人看欧美性爱| 日本顶级天天操狠狠操夜夜操中文字幕 | 欧美,日韩,中文,另类| 国内三级自拍小视频在线观看| 另类欧美| 蜜桃臀av在线观看| 东北少妇高潮zzzz| 九一综合网| 一区二区三区四区免费视频| 亚洲美腿丝袜香蕉影视欧美成人| 99热在线播放| 搡老熟女免费视频| 牛牛久久国产精品视频一二三| 九月丁香婷婷色| 18禁久久| 青青草吊丝| 鸡巴插逼视频| 国产精品国产精品国产| 人妻精品一区二区全免费| 最新三级网址| 色九九久九九| 久久久av爱| 九色在线熟女国产黑人| 91综合网站| 精品久久99| 亚洲好看强奸乱伦| 国产成人五月天丁香花| 精品九九九九九九九九九| 日韩欧美字幕亚洲一区二区| 大学生美女口爆| 久久精品中文| 992这里有精品| 久久黄片国产一区二区| 成人女人国产| 亚洲中文字母在线播放| 国产美女高潮| 蜜臀无码一区二区| 亚洲 图片 欧美 色图| 色伊人91| 亚洲天堂久久久久久粉红视频| 97欧美色资源| av优播| 亚洲国产av中文字幕久久| 在线播放中文字幕| 97天天综合网| 亚洲五月天激情| 欧美1区二区三区公司| 干美女人妻| 67194无码不卡| 午夜福利区| 夜色五月天| 欧美中文字幕日韩在线| 人妻熟女一区二区三区视频| 亚洲天堂东京热| se吧提供91精品国产91久久久久久| 台湾大香蕉99热| 国产一区二区三区免费视频在性观看| 在线亚洲精品久久久| 亚洲高清无码AAA久久久精品| 婷婷精品国产欧美精品亚洲人人爽| 家庭乱伦网站国产| 男女无套 免费网站| 亚洲熟女乱色| 激情五月丁香五月| 亚洲欧美一区二区网址| 密臀在线视频| 久久宗合亚洲| 狠狠爱综合网| 中亚黄色三级大片| 91老司机精品| 综合色一区三区二区| 免费成人在线熟妇网| 婷婷五月综合在线| 中文操嬖片。| 日本久久女同性恋视频| 久操电影网| 东北女人| 国产一区麻豆免费观看| 大奶啊啊好爽| 色噜噜狠狠色综无码久久合欧美| 国产东北女人在线视频| 欧美精品三级黄片| 99中文字幕| 偷拍片久久| 大吊色| 天天爽天天爽| 国产免费永久精品无码| 顶级丝袜熟女一区二区三区| a片在线播放| 97欧美日韩综合| 情侣操 逼视频99| 久久精品72| 啊啊啊com| 国产精品青青草| 国产成人精品日本视频| 人人干人人操人人..com| AV一起草在线| 黄色激情电影在线观看| 中日亚韩免费视频| 看免费的黄片| 中文字幕在线日亚州9| 国产乱码精品一区二区三区四川| 新婚人妻扶着粗大强行坐下| 破苞ⅩXXX性无码动漫无码| av亚洲天堂资源网站| 性爱乱伦网址| 久久首页| 日本色色色色色视频| 无码伊人久久大杳蕉中文无码| 97国产高清视频在线观看| 黄色片大香蕉| 日本美女性生活久久久久久久| 婷婷香蕉| 欧美72网页| 亚洲无限观看| 中文字幕伊人| 久操精品| 亚洲无吗在线视频| 在线观看一卡二卡| 国产精品欧美激在线| 青青青草伊人精品| 亚洲素人综合| 熟妇乱伦一区二区| 国产精品午夜高潮呻吟久久av| 色婷婷av在线观看| 欧洲精品人妻| 91综合天天看| AV一起草在线| 亚欧精品久久久久久久久久久| 国产精品视频电影| 91狠狠综合久久| 国产日韩无码一区二区三区久久区| 一中国女人毛片水真多| 国产精品ⅴ无码大片在线看.| 国产亚洲日本精品在线| 青青草自拍视频在线播放| 91久久国产综合精品| 天天色综合影视网| 日韩丰满熟妇| 超碰午夜在线| 亚洲精品久久久久毛片A片拉屎 | 激情黄色五月天| 色图四区| 国产免费一区二区在线A片视频| 欧美极品少妇交| 久久人妻无码毛片A片麻豆| 久久精品国产精品| 99国产精品视频尤物| 乱欲一区二区| 激情婷婷丁香| 尤物黄色在线观看网站| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 精品久久久无码| 亚洲久久天堂| 五月丁香成人网| 国产天天看| 亚洲欧美另类激情小说| 亚州操操穴网| 日韩人妻丝袜中文字幕| 丝袜美腿诱惑亚洲欧美视频在线观看 | 亚洲啪啪啪啪视香蕉| 亚洲av综合伊人久久| www鬼畜国产男人的天堂| 亚洲欧美激情小说| 99爱精品| 日本加勒比无码专区| 国产激情久久久| 久久精品无码专区| 91色碰| 国产午夜在线观看| 色婷婷综合久久久久中文一区二区| 天堂九九九九九九九九九| 丁香五月社区| 亚洲不卡三级手机播放| 欧美成人亚洲精品| 国产熟女乱论| 久久天堂网| 天天日夜夜| 自拍偷拍 日韩欧美| 天天天天天天天天综合| 蜜桃av综合网发布| 精品人妻中文字幕高清| 亚州综合图片| 亚洲男人bt天堂| AV在线性爱| 欧美97av| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 中国zzijzzijzzwww精品| 啊啊啊啊啊好舒服视频| 亚州精人品大香蕉| 精品亚洲国产成人av网站| 少妇色欲综合网2| 综合色图,成人综合网| {男男暴菊gay无套网站| 久久久久久免费电影| 色999人与兽| 免费的黄片有限公司| 欧美大的香蕉有线电视视频| 伊人一区二区三区| 精品免费一区二区三区在线亚洲人成| ?亚洲伊人伊成久久人综合网| 综合av社区| 色婷婷一区二区三区久久| 久9综合在线| 亚洲涩涩| 嗯嗯不要视频| 一二区在线观看视频| 东京热精品97综合网| 女人的久久久| 女优免费一区二区永久| 久久精品性| 五月综合久久| 亚洲在线网站| 起碰97| 综合五月天| 9.1小视频| 亚洲熟妇综合久久久久久| 97综合在线观看| 素人播放一区| 日韩另类色图| 男女打扑克高清网站| 久久久久婷婷| 偷看洗澡一二三区美女| 美女视频尤物网在线看| 久久精品国产99精品亚洲蜜... | 91久久久久久| 在线99热| www.超碰| 91伊人影视综合| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 色综合91好| 欧成人精品一区二区三区| 超碰九九| 国产精品久久| 特级特黄一级毛片免费| 先锋激情∨在线视频播放| 翔田千里Av在线| 91精品微拍福利| 手机在线人成免费视频| 六月婷婷色综合| 超碰人人妻| 富二代亚洲精品99| 人妻熟女一区二区三区在线| 亚洲性图91| 91老司机精品| 一中国女人毛片水真多| 国产综合网站在线播放| 色五月av| 91影视亚洲| 国产家庭乱伦性爱视频| 97色碰| 激情 欧美 亚洲 小说| 亚洲欧美在线观看免费| 人妻久久久| 综合激情97| 亚洲AV色图一区| 秋霞 色色| 人人干人人搞人人摸| 日韩情色视频| 麻豆区久久久久亚| 玖玖爱在线视频免费观看| 中文字幕aⅴ在线视频| 亚洲无码99| 久久骚少妇| avav青青草久久夜| 日韩无码精品综合久久| 精品久久久久久亚洲| 麻豆国产第一| 91爱剪切久久| 中文一区在线视频| 激情视频一二三| 欧美第二页| 国产精品老师| 日韩97视频| 国产精品久久久久久亚洲色欲| 日韩一级片在线看| 大香蕉综合在线| 天天激清| 欧洲综合视频| 亚洲爽图| 91亚洲不卡一区| 亚洲97在线| 国产伦精品一区二区三区在线观| 中文字幕欧美日本乱码一线二线| 欧美自拍偷拍综合图片| 丝袜无码a片| 中文字幕丰满人妻日本| 国产白嫩精品久久| 国产97亚洲| 91色艳| 干少妇视频| 九九九国产精品| 69视频入口| 熟妇人妻一区二区三区| 国产精品懂色tv影视免费观看| 丁香五月大香蕉| 夜色91| 夜夜爽33333| 亚洲麻豆av一区二区| 最新AVzaixian| 欧美亚洲中文| 美国精品国产精品| 偷拍2020| 好吊妞转入那个网| av强奸乱轮| 骚人妻少妇视频| 国产精品一区二区黄片| 骚女天天综合网| 亚洲精品一二三四区| 涩综合导航| 97色诱| 操逼视频免费日韩无码| 久日综合网| 蜜乳av首页| 热思思免费视频| 国产精品一区二区后入| 强免费黄色网址| 老司机午夜精品视频| 伊人伊人LD| 天天日天天舔天天喷天天射| 国产中出内射一区二区| 99热线麻豆| 亚洲精品天天影视综合网 | 久久久久久夜夜夜夜夜| 国产精品com| 久久久久久中文| 天天综合香 ld视频| 天天弄欧美| 欧美丰满少妇xx高潮| 欧美精品另类人妖xxxx| 久久久久国产无av| 亚洲高清国产理伦片| 亚洲婷婷丁香在线| 综合网 欧美| 乱码熟妇人妻久久久| 91人妻爽爽人人做人人澡| 操逼视频免费日韩无码| 强奸乱伦中文字幕AV| 性色av大全| 国产精品黑人一区二区三区| 国产又粗又大硬免费色网视频| 91天美免费| 天天干夜夜| 新97国产超碰| 夜草欧美| 日本精品性生活久久久| 啊啊啊好舒服好爽啊啊啊视频| 97天天爽| 啊啊啊用力在线观看| 成人在线日韩| www.夜夜| 欧美另类色图片| 中文字幕一区av| 久久香蕉网| 99性爱视频| 丁香五月天堂| 天天干美少妇一区| 麻豆2区1区天美| 一品道视频一区二区三区| 久久久久免费少妇| 午夜激情床戏激情| 欧美在线啊啊啊 | 九九九九久久久| 五月天偷拍| 玖色AV| 日韩99神马视频播放片在线播放| 久久侵犯人妻爽爽爽| 久久久草成人网站久久久草成人久久久草久久久| 天天综合亚在线| 久久久工口| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 久久九九网| www久| 秋霞曰韩R级| 狠狠操狠狠插| 欧亚乱色熟一区二区三四区| 欧洲Au麻豆| 中文字幕超碰CAO| 熟女露脸激情自拍视频| 加勒比色99999| 日韩亚洲欧美中文字幕| 欧美精品精品一区二区| 欧美性生活免费网| 亚洲AV无码国产成人| 天天综合精品| 久久精品亚洲东京热色播| 色制服丝袜夫妻av一区| 日1区2区3区2020| 91五十路| 亚洲无码成人精品| 熟妇操花| 欧美少妇一区二区三区| 欧洲精品欧洲精品| 一区二区三| 不卡av在线中文字幕| 日本色色的视频| 大香蕉宗合网在线| 美女91在线观看| 久草精品在线| 黄色大片免费在线| 国产一级αv免费看片| 99热综合| 一区二区国产视频在线观看| 色狠狠一区二区三区香蕉| 欧美片第一页| 日本九九九九| 精彩国产视频播放1区2区| 欧美日韩国产色五月综合在线| 久久人| 先锋色眉乱伦资源| 校园春色之综合网| 国产人妻精品一区二区三区秋霞| 九九九九九精品| 韩国黄片aaaa| 亚洲日本韩国极品一区二区| 97久久精品国产| 欧美色图另类图片| 国产日韩区| 夜夜嗨一区二区| 九九九精品一区二区无码| 久久黄人人爽视频| 欧美18 在线观看| 色色婷婷五月| 91n免费处女| 亚洲男人电影天堂| 欧美亚洲日本激情在线| 久久久av爱| 欧成人精品H无码| 黄色网址在线免费观看| 日韩精品高清资源在线| 日韩久射综合| 欧亚成人| 日韩99999色| 精品人妻一区二区免费看| 人妻中文字幕精品无码| 天天操女人| 亚洲日本大香蕉1| 欧美中文字幕日韩在线| 户外裸露刺激视频第一区| 青青操少妇| 凹凸精品熟女在线观看| 人人做人人妻人人夜视频| 日本精品人妻少妇一区二区| 97视频在线观看免费高清| se吧提供国产乱老熟视频胖女人| 日韩素人无码一区二区三区三州| 九九九久| 凹凸久久人人| 97视频620| 香蕉人欧美综合| 俺去也婷婷| 蜜乳av一区二区三区四区不卡| 天天射天天操天天干天天吃2018 | 日韩综合第八区国产精品| 国产日韩在线播放av| 日本熟妇熟色97一本在线观看| 九九九只有精品| 91P0RNY大屁股人妻| 日日夜夜干| 久久精品无码熟妇一区二区三区视频导航 | 91高清日| 麻豆国产96在线| 制服丝袜第二页| 欧美日韩一区二区三区四区蜜桃| 欧美日韩国产男人| 久久透逼视频| 台湾大香蕉99热| 亚洲黄片免费在线播放| 97色欧州| 精品久久久久久无码| 99.色网| 91美女网站| 精品妇女一区二区三区| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 国产精品第一页国产大屁股视频免费区i| 东京热视频网| 有码免费观看| 人人么人人操| 亚洲人妻熟妇三十三区| 欧美日韩大黄片| 久久超碰免费的| 绯色一区二区三区不卡少妇 | 中文字幕成人理论在线| 欧美综合狠| 日亚韩精品视频二区三| 91高清日| 欧美毛片在线网| 男人的天堂2018| 天操天操夜操夜月操月年年操| 亚洲一区二区在线观看91| 久久久亚洲精品电影免费看| 黑人美精品 A片| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 成人小电影网站tex| 精品区9| 999久久久| 中文字幕视频2区| 夜夜操美女| 亚洲日韩乱码中文无码蜜桃臀网站| 欧洲成人性爱视频| 精品人妻一区二区三区蜜桃视频| 九九色热| 神马九九| 久久久久大香青草精品综合| 操逼网站视频漫画国产| 超碰碰小说97| 大奶啊啊好爽 | 97在线精品观看视频| 国产中午字一暮区| 国产精品麻豆成人AV艾秋| 国产高清成人免费视频| 91l欧美在线| 久久一级无码精品毛片6| 91色插| 亚洲av热热色| 国产区性爱在线视频秋霞豆| 九九热国产| 插老姨肥穴| 91麻豆va国产精品| 性天堂| 蜜桃狠狠色伊人亚洲综合| 六月丁丁香| 激情小说日韩无码| 精品人妻一区二区三区蜜桃视频| 天天欧美色| 欧美日韩不卡a片| 岛国天天午夜影院传媒网| 内射日韩大臀美女| 国产欧美日韩精品中文| 亚洲图片欧美色| 日韩图区| 五月丁香综合| 18禁免费视频| 天天综合欧美| 亚州色图片在线色| 欧美淫穴| 秋霞蝌科网日本一区| 欧美女同在线| 免费人人搞97| 婷婷久久久| 欧美中文字幕日韩在线| 色网亚洲人| 殴洲老熟女| 亚洲少妇色| 日韩色| 天天草天天日| 人人操人人精品影片| 91女在线观看| 亚洲制服欧美另类内射| 亚洲?V高清一区二区三区尤物| 热热色色综合| 三级片大波波| 尹人大香蕉视频在线| 国产日产精品久久快鸭的功能介绍| 97亚洲色图| 天天舔九色婷婷| 国产精品99久久久www| 91露脸熟女专区| 啊啊啊无码| 色天天野狼综合社区| 中 文字幕一区二区三四 五 区日 日 骚| 色婷婷丁香五月| 国产AV激情无码久久无码| 丰满熟女一区二区三区在线播放| 国产成人啪一区二区| 亚洲综合在线高清| 男人亚洲91首页在线| 午夜国产成人福利视频| 高潮毛片无遮挡高清免费| 中日韓欧美高清| 97chaopenrihan| 天天综合网~91综合网| 欧美亚洲影视| 日韩成人免费电影| 国产视频一区二区免费| 中文字幕丝袜国产第一页不卡| 日韩一级二级三级在线不卡观看完整| 久久久九| 99re这里| 久久男人网| 亚洲中文字幕乱码无码一区二区| 992这里有精品| 综合久久中文字幕综合日韩精品| 少妇高潮对白在线观看| 99久久久无码精品国产人| 免费在线看黄片av| 中文字幕乱码在线观看| 大粗鳼巴久久久久| 狠狠97| 色97国产69香蕉| 蘋果手機免費看成人Av| 久久久99999久网站| 99 国产丝袜在线| 亚洲一区二区三区麻豆传媒| 超碰97爽| 五月丁香激情综合网| 国产精品老师| 久久人人爽人人爽人人片Ⅴ| 黑人嘿嘿嘿超爽免费视频| 波多野结衣先锋影音| 无码逼| yellow网站免费观看日韩高清无码| 91色人妻| 飘花国产午夜精品不卡| 欧美一级在线观看成人 | 天天操天天干一区二区| 综合激情二| 欧美人人操人人插| 91露脸熟女专区| 囯戸精品高潮呻吟旡码| 日韩中文字幕国产| 在线a v| 综合 欧美 亚洲 日本| 91精品国产日韩欧美综合| 日本欧美韩国国产在线| 精品一区二区成人| 国人欧美精品一区二区| 国产一区二区三区导航| 乱伦熟女区| 夜色五月天| 69精品在线| 日韩欧美成人大香蕉| 污到发麻的视频 国产| 99re3这里只有精品| 97爱欧美| 天天摸夜夜操视频| 中文字幕文字幕无码一区二区三区电影99| 国产久久日| 日日爽熟女| 久久久四区| 女性喷水高潮在线观看| 亚洲欧洲日本精品中文a∨| 久久riav中文精品| av凤凰久久久| 亚洲第一页色| 观看视频图片一区二区三区| 婷婷五月天无码| 99热国产| 97超碰美女| 2025年A片视频精品| 亚洲黄色网址视频| 色999亚洲人成色| 国产日本熟女顶级一区二区三区视频| 另类亚洲图色| 亚洲欧美日韩电影网站一区| 欧美色图亚洲色,麻豆| 国产suv精品一区| 97欧美资源| 蜜桃狠狠色伊人亚洲综合网站| 大黄片做爱的大的| 激情专区综合| 午夜呻吟欧美| 欧美激情亚洲情色| 欧美激情一区| 日本东京热加勒比久久| 日日操天天操| 九九九九九九成人| av2014 日韩在线中文字幕| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 日韩欧美资源| 亚洲色婷婷综合久久久久中文| 97亚洲综合| 国产第25页在线观看| 操久久久久久| 日韩精品怡红院| 久草这里只有精品| 亚洲成人无码影院| 午夜精品一区二区三区三上悠亚| 96免费视频在线| 精品视频一区二区| 一本久道在线综合视频| 99这里有精品视频| 色娱乐色呦呦夜夜夜夜av| 亚洲骚逼少妇| 精品成人亚洲午夜电影| 屌逼麻豆| 久久久精品一区二区| 欧美18老人禁| 91Chinese在线| 性性欧美| 国产99热| 性爱1区| 欧美91在线+|+欧美| 一本久道久久综合狠狠爱一密臀精| 91影库| 性色avv| 美女十八禁| 中文字幕五月婷婷免费| 欧美特大黄一级片片免费| 四季AV综合网址| 熟女少妇一区二区三区| 新久久AV| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 天天躁日日躁成人字幕aⅴ| 婷婷五月av| 国产精品久久久九九九| 麻豆熟妇乱妇熟色A片在线看| 亚洲天堂人妻熟妇视频| 干B视频伊人网| 日韩本不卡视频在线观看 | 97视频在线视频| 日韩欧美性爱电影在线观看| 极品尤物在线观看| 欧美五区| 欧美片第一页| 少妇超碰在线| 欧美同性恋 的搜索结果 - 91n| 18禁网站在线播放| 婷婷色网| 欧美一区二区三区不卡高清视频| 国产在线视视频有精品| 国产偷人妻精品一区二区在线| 午夜小电影在线插入淫高潮| 亚洲午夜福利视频| 久久久久久久久久久999| 26UUU欧美日本| 综合网,亚洲,欧美| 亚洲综合伊人无码久久| 极品美女福利在线观看| 国内97干免费看| 91色人妻| 欧美日韩222| 97天天摸天天爽| 亚洲AV免费在线| 日韩人人精品| 蜜乳av一区二区| 97中文天堂| 91久久久亚洲| 人夜夜精品网站香蕉嫩草| 久久久久久九九九九九| 国产福利第一视频| 九九九偷拍| aⅴ日韩成人电影av在线免费看av大全| 国产精品久久久777| 日本十八禁免费看污网站| 大吊色| 国产欧美日本亚洲精品| 成人熟女视频一区二区三区| 一本色道无码DVD中文字幕| 国产日本熟女顶级一区二区三区视频| 久久 精品| 午夜天堂精品久久久久91| 日本欧美不卡| 一二三区在线| 精品少妇一区二区| 五月丁香激情综合网| 青青青草原| 99久久婷婷| 综合天天。| 九九香蕉网| 人妻少妇精品久久久久久| 防屏蔽在线视频| 亚洲91色| 99热精品青草在线| 欧美呦呦性爱| 宅男91视频在线播放| 国产精品麻豆成人av| 天天综合网1| 加勒比在线视频一区二区三区| 久久人妻无码毛片A片麻豆| 人人摸人人叼| 怡红院成人视频| 韩国女主播青草福利视频| 乱伦日本中文自拍| 欧美一级专区免费大片| 亚洲强奸乱伦影视网| 青青草色AV| 夜夜操天| 777琪琪午夜免费A片| 久久久国产精品亚洲精品| 精品九九国产无码| 精品人妻视频一区二区在线播放 | 久久麻豆一区二区| 婷婷色色五月天福利| 一区二区不卡| 精品国产一级久久| 国产精品片| 男生女生啊啊啊啊| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 青青草成人视频在线观看二区| 国产精品久久99日日| 超碰1997| 综合色啪| 精品性爱| 亚洲一区制服诱惑| 91色艳| 黑人白女精品一区| 日韩人人精品| 啪啪视频mP4| 综合在线导航一区| 玖玖久久久| 久久思思热| 在线观看不卡一区二区三区| 九九热午夜欧亚国产视频| 丁香五月婷婷基地| 亚洲av无码国产精品字幕| daxiangjiao你懂的| 69超碰综合| 免费超碰97在线观看| 四虎884| 人妻AV 中文字幕的| 久久丁香久草综合网| 久久成人东京热人妻| 久久免费中文字幕在线观看| 国产AV激情无码久久无码| 国产97亚洲| 啊啊啊啊啊啊啊啊啊啊在线观看| 操一区| 蜜臀99久| av72网| 97资源制服丝袜| 天天插网| 日韩97视频| 综合国产97| 人人做人人妻人人夜视频| 亚洲日韩人妻中文字幕一区| 欧美综合在线第一页| 不卡九肏| 亚洲欧洲国产综合av| 被窝影院午夜看片无码| 欧美亚州综合网图片| 欧美色一二三| 亚洲欧美精品91| 国产精品麻豆视频网站| 中文不卡视频| 色爽——AV| 1024亚洲中文字幕久在线看片你懂的| av最新免费中文字幕| 色综合91好| 啊啊啊啊啊好舒服视频| 91丝袜美腿网站| 五月色网| 嗯啊抽插大香蕉网页| 狠狠操狠狠操操| 久久有码视频| 日本中文字幕一区| 国产乱婷婷精品二区三区| 国产懂色精品国产av| 国产精品久久久久久久电影渣男| 精品少妇一区二区三区| 国产久久久9999| 久久曰曰| 亚洲古典另类欧美在线| 久久久精品中文字幕爱豆| 欧洲精品一级二级精品综合视频综合| 黄总AV色图| 久久男人的天堂国产| 巨爆乳肉感一区二区三区竹菊影视| 久久久久久久伊人精品| 精品人妻一区二区三区日产乱码| 97色欧洲| 久久久免费高清中文视频| 北京美女一区二区| 91大学精品激情戏| 激情五月综合| 欧美亚洲中文字幕| 探花精品 一区二区| 久久香蕉国产线看观看亚洲女人 | 久久成年片色大黄全免费网站| 97情超碰色| 精品久久九| 久久精品老司| 亚洲人妻一区二区三区| 色999亚洲人成色| 日韩欧美字幕亚洲一区二区 | 欧美综合传媒| 97视频www| 日韩pv中文| 偷拍欧美激情| 久热色情精品| 极品粉嫩一区二区| 91蜜臀在线久久久久| 亚洲丝袜色| 免费观看欧美日韩操逼视频| 久久久久9| 立川理惠加勒比无码| 精品性爱无码在线播放| 国产综合操逼高清| 一级黄色视频网| 精品人体无圣光凹凸| 日本欧美一区二区三区视频麻豆| 久久系列| 欧美色就是色| 九九九九九九视频免费| 好爽视频在线观看视频| 国产精品久久久久久久久久久久久久吹 | 日本免费不卡二区| 久久国产精品91| 天天弄欧美| 熟女丝袜视频| 国内精品不卡无毒99999| 久久这里只精品99re66图| 久久性爱大全| 婷婷色婷婷| 婷婷99| av中文字幕在线熟女| 欧美 亚洲 制服 精品| 日本免费不卡二区| 夜夜一区二区| 国产性刺激| 欧美精品偷拍| AV天堂电影网| 熟女AV一区| 亚洲文学偷乱拍啪啪啪啪| 少妇特黄一区二区三区| 亚洲色综网| 78m啪啪啪| 超碰导航97| 国产99热| 日本精品一级二级三级| 99这里只有精品国产| 乱伦图av| 亚洲日韩成人性爱视频| 天天日少妇逼AV| 1024亚洲中文字幕久在线看片你懂的 | 嗯嗯啊啊啊好舒服| 玖玖爱综合| 亚洲色丰满少妇高潮| 18精品一二区| 久热一区二区| 国产精品久久久久久高清无码免费看| 强奸乱伦中文字幕AV| 亚洲色欲天天人妻无码系列专区| 久久啊哟| 国产噜噜噜噜噜久久久久久久久| 国产女主播视频在线观看| 92久久| 国产高清亚洲日韩一区| 逼操网站| 久超碰在| 国产一区二区三区,在线观看观看| 另类老少妇| 成 人 A V免费视频在线观看| 亚洲第一黄色av网站| 久久久中文| 欧美精品另类人妖xxxx| 久久99草| 熟妇一区二区| 人妻激情偷乱视频一区二区三区| 国产精品国产自产高清AV| 97国产精品一区| 国产亚洲日本| 五月婷婷深深爱| 午夜寂寞欧美| av毛片aaaaa免费看| 男人的天堂VA| 91国产伊人大香蕉| 精品国产一区二区三区久久久蜜臀| 国产精品99久久久www| 亚洲天堂五月天国产| 久久久极品| 欧美一区二区三熟女剧情| 蜜臀99999| 91暧暧| 素人美腿视频网站| 韩国久久97| 麻豆国产尤物AV| 丰满人妻无码一区二区三区| 三级网站超变态精品| 国产欧美日韩在线观看麻豆传媒公司 | 97少妇人妻中文字幕久久| 自拍偷拍国产欧美日韩韩| 日本成人免费一区二区三区| 黄色视频特级毛片| 久9视频| 狠狠图片青青草| 久区视频| 黄页视频网站野外| 精品无码久久久| 中文字幕78| 啪啪啪综合网| 国产亚洲禁久一区二区| 香港成人一级视频在线青青草| 欧亚 另类 久| 97在线观看免费视频| 日韩女模中文造逼| m欧洲一级午老| 国产精品久久久啊| 午夜色婷婷| 亚洲drav色图| 13小男生GAY自慰脱裤子| 亚洲欧美成人在线| 加勒比人妻综合| 久久狠狠色噜噜狠狠狠狠97| 91干熟女| 亚洲图片 激情小说| 91综合站| www超碰| 少妇丝袜在线观看AV| 奇米四色网| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 国产精品视屏| 婷婷AV一区二区三区| 丝袜综合| 一本色道无码DVD中文字幕| 五月丁香激情综合| 欧美天天综合站| 国产丝袜欧美在线视频| 超碰99在线观看| 欧美激情亚洲情色| 丁香六月激情| 九X超碰| AAAA级日本片免费视频| 色综合久久88色综合久久天天| 天天日天天色| 91美女视频。| 草草影院最新网址| 91撸色网 玖玖网 欧美| 女人与公拘交酡2020视频| 水野优香在线观看| 99精品无码| 99热这里只有精品地址| 老色鬼成人精品视频下载大在线观看| 波多野42部无码喷潮在线观看 | 97碰碰日本乱偷人妻中文的| 亚洲欧美另类激情小说| 亚洲第一页色| 天天欧美| 五月香婷婷| 成人性交午夜免费片| 家庭乱伦网站国产| 久热99999| 人人干人人操人人..com| 欧美亚洲高清晰| 91动漫操逼视频| 亚洲男人天堂视频| 在线看片国产精品每日更新| 色精品极品| 九九九精品| 久久免费中文字幕在线观看| 久久产精品一区二区三区电影| 亚洲有薄码区日本系列中文字幕| 加勒比海色香蕉婷婷| 天堂岛av| 久久精品熟女亚洲AV麻豆软件| 亚洲色图激情小说| 久久精品久| 97网址www| 日韩三级av片| 97超碰jingpin| 国产老女人久久毛| 人妻夜夜爽天天爽麻豆三区网站 | 丝袜美腿诱惑亚洲欧美视频在线观看 | 综合色拍| 日韩精品亚洲专区在线影视| 欧美日日人人天天| 久久xxxx| 天天噜| 日日橹狠狠爱欧美超碰| 国产一级137片内射麻豆| 中国黄色特级精品一区二区三区片| 蜜乳AV一区二区三区四| 亚洲性综合| 婷婷亚洲综合| 午夜福利 成人 91|