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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2017-10-9(Volley使用范例源码分析)

發(fā)布時間:2025/3/18 编程问答 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2017-10-9(Volley使用范例源码分析) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Volley應(yīng)該是比較久遠(yuǎn)的產(chǎn)物了。google在2013 IO發(fā)布,但也可以借鑒學(xué)習(xí)畢竟是google工程師的AOSP產(chǎn)物。
下面從范例代碼分析Volley的結(jié)構(gòu)和核心源碼。

//創(chuàng)建RequestQueue 隊列
RequestQueue mQueue = Volley.newRequestQueue(context);
//url
String url = "http//www.baidu.com";
//返回結(jié)果處理
Response.Listener listener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.e("TAG",response);
}
};
//錯誤返回結(jié)果處理
Response.ErrorListener errorListener = new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("TAG",error.getMessage(),error);
}
};
//Request請求
StringRequest stringRequest = new StringRequest(Request.Method.GET,url,
listener, errorListener);
//將請求加入RequestQueue 隊列
mQueue.add(stringRequest);
復(fù)制代碼

實際就三個步驟:

  • 創(chuàng)建隊列 RequestQueue
  • 創(chuàng)建Request請求
  • 將Request請求添加到隊列RequestQueue

創(chuàng)建RequestQueue

RequestQueue mQueue = Volley.newRequestQueue(context);


調(diào)用兩個參數(shù)的構(gòu)造方法:


這個方法有點長截取重要部分
主要是對于9以上版本是創(chuàng)建BasicNetwork對象
然后調(diào)用newRequestQueue(context, network);
看看BasicNetwork對象干什么的?


創(chuàng)建了一個4*1024大小的二進(jìn)制數(shù)組和將new HurlStack()傳進(jìn)來。
好,看到這里先把這個類放著,后邊再繼續(xù)看到底做了些什么。

將context和BasicNetwork傳進(jìn)來

newRequestQueue(context, network);


第一句代碼就不說了,就是在設(shè)備上創(chuàng)建一個文件放緩存;

主要看后面兩句:

RequestQueue queue = new RequestQueue(new DiskBasedCache(cacheDir), network);
queue.start();


這里看見創(chuàng)建了一個ExecutorDelivery,和我們十分熟悉的Handler,而這個Handler是主線程的Handler;看看這個ExecutorDelivery是干什么的:

看到這里,ExecutorDelivery主要就是創(chuàng)建一個主線程的Handler,將返回的信息給主線程的Handler處理。Runnable 就是給主線程處理的。
繼續(xù)看剛剛的構(gòu)造方法

public RequestQueue(Cache cache, Network network, int threadPoolSize) {
this(cache, network, threadPoolSize,
new ExecutorDelivery(new Handler(Looper.getMainLooper())));
}

  • cache 就是DiskBasedCache主要就是緩存
  • network 就是BasicNetwork主要就是發(fā)送http請求的,但真正實現(xiàn)發(fā)送是HurlStack,后面會帶大家看源碼講解。
  • mDispatchers就是創(chuàng)建一個NetworkDispatcher數(shù)組
  • mDelivery 剛才已經(jīng)看了代碼就是給主線程Handler處理回調(diào)結(jié)果用的

RequestQueue創(chuàng)建完畢下一步

queue.start()


stop();英文注解寫得很清楚就是確保目前正在執(zhí)行的dispatcher停止(不管是網(wǎng)絡(luò)的還是緩存的)

之后的代碼逐行解釋

mCacheDispatcher = new CacheDispatcher(mCacheQueue, mNetworkQueue, mCache, mDelivery);

  • mCacheQueue是緩存隊列
  • mNetworkQueue是網(wǎng)絡(luò)請求隊列
  • mCache剛才說了是DiskBasedCache主要就是緩存
  • mDelivery剛才已經(jīng)看了代碼就是給主線程Handler處理回調(diào)結(jié)果用的


這里多了個WaitingRequestManager,看看干什么的:


先放著,構(gòu)造函數(shù)并沒有干什么

mCacheDispatcher.start();
我們看看CacheDispatcher類


繼承Tread,那么start()即是調(diào)用run()

@Override
public void run() {
if (DEBUG) VolleyLog.v("start new dispatcher");
//最高優(yōu)先級
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
// Make a blocking call to initialize the cache.
mCache.initialize();
while (true) {
try {
// Get a request from the cache triage queue, blocking until
// at least one is available.
final Request<?> request = mCacheQueue.take();
request.addMarker("cache-queue-take");
// If the request has been canceled, don't bother dispatching it.
if (request.isCanceled()) {
request.finish("cache-discard-canceled");
continue;
}
// Attempt to retrieve this item from cache.
Cache.Entry entry = mCache.get(request.getCacheKey());
if (entry == null) {
request.addMarker("cache-miss");
// Cache miss; send off to the network dispatcher.
if (!mWaitingRequestManager.maybeAddToWaitingRequests(request)) {
mNetworkQueue.put(request);
}
continue;
}
// If it is completely expired, just send it to the network.
if (entry.isExpired()) {
request.addMarker("cache-hit-expired");
request.setCacheEntry(entry);
if (!mWaitingRequestManager.maybeAddToWaitingRequests(request)) {
mNetworkQueue.put(request);
}
continue;
}
// We have a cache hit; parse its data for delivery back to the request.
request.addMarker("cache-hit");
Response<?> response = request.parseNetworkResponse(
new NetworkResponse(entry.data, entry.responseHeaders));
request.addMarker("cache-hit-parsed");
if (!entry.refreshNeeded()) {
// Completely unexpired cache hit. Just deliver the response.
//發(fā)送請求
mDelivery.postResponse(request, response);
} else {
// Soft-expired cache hit. We can deliver the cached response,
// but we need to also send the request to the network for
// refreshing.
request.addMarker("cache-hit-refresh-needed");
request.setCacheEntry(entry);
// Mark the response as intermediate.
response.intermediate = true;
if (!mWaitingRequestManager.maybeAddToWaitingRequests(request)) {
// Post the intermediate response back to the user and have
// the delivery then forward the request along to the network.
mDelivery.postResponse(request, response, new Runnable() {
@Override
public void run() {
try {
mNetworkQueue.put(request);
} catch (InterruptedException e) {
// Restore the interrupted status
Thread.currentThread().interrupt();
}
}
});
} else {
// request has been added to list of waiting requests
// to receive the network response from the first request once it returns.
mDelivery.postResponse(request, response);
}
}
} catch (InterruptedException e) {
// We may have been interrupted because it was time to quit.
if (mQuit) {
return;
}
}
}
}
復(fù)制代碼

方法比較長,我說重點:
首先設(shè)置了該線程為最高級別,然后緩存初始化,之后就是一個無限循環(huán)。里面首先在緩存隊列拿出一個request,如果該request是已經(jīng)取消就退出循環(huán)。不是繼續(xù)往下走,從緩存mCache取一個entry,如果是空的話,mWaitingRequestManager.maybeAddToWaitingRequests(request),調(diào)用這句??纯锤墒裁吹?#xff1a;

private synchronized boolean maybeAddToWaitingRequests(Request<?> request) {
String cacheKey = request.getCacheKey();
// Insert request into stage if there's already a request with the same cache key
// in flight.
if (mWaitingRequests.containsKey(cacheKey)) {
// There is already a request in flight. Queue up.
List<Request<?>> stagedRequests = mWaitingRequests.get(cacheKey);
if (stagedRequests == null) {
stagedRequests = new ArrayList<Request<?>>();
}
request.addMarker("waiting-for-response");
stagedRequests.add(request);
mWaitingRequests.put(cacheKey, stagedRequests);
if (VolleyLog.DEBUG) {
VolleyLog.d("Request for cacheKey=%s is in flight, putting on hold.", cacheKey);
}
return true;
} else {
// Insert 'null' queue for this cacheKey, indicating there is now a request in
// flight.
mWaitingRequests.put(cacheKey, null);
request.setNetworkRequestCompleteListener(this);
if (VolleyLog.DEBUG) {
VolleyLog.d("new request, sending to network %s", cacheKey);
}
return false;
}
}
復(fù)制代碼


由于我們是第一次作請求,基本就沒有緩存,所以是走else部分:


里面只將cacheKey給mWaitingRequests存了起來,然后就是我截圖紅色框部分,最后返回false;
setNetworkRequestCompleteListener實現(xiàn)接口,其實就是這個:


繼續(xù)看回之前的:


因為返回false,即調(diào)用mNetworkQueue.put(request);
網(wǎng)絡(luò)隊列添加了一個request,然后跳出循環(huán);

繼續(xù)看回RequestQueue的start():


剛才走到紅色箭頭,繼續(xù)往下走:
由于mDispathcers的容量設(shè)置了4個,所以循環(huán)4次:
里面就是new一個NetworkDispatcher

  • mNetworkQueue是網(wǎng)絡(luò)隊列
  • network 就是BasicNetwork主要就是發(fā)送http請求的,但真正實現(xiàn)發(fā)送是HurlStack
  • cache 就是DiskBasedCache主要就是緩存
  • mDelivery 剛才已經(jīng)看了代碼就是給主線程Handler處理回調(diào)結(jié)果用的

networkDispatcher.start();
看看NetworkDispatcher類:


和CacheDispatcher類一樣,就不多說,直接看run()

@Override
public void run() {
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
while (true) {
//獲取系統(tǒng)開機(jī)直到現(xiàn)在的時間包含睡眠時間
long startTimeMs = SystemClock.elapsedRealtime();
Request<?> request;
try {
// Take a request from the queue.
request = mQueue.take();
} catch (InterruptedException e) {
// We may have been interrupted because it was time to quit.
if (mQuit) {
return;
}
continue;
}
try {
request.addMarker("network-queue-take");
// If the request was cancelled already, do not perform the
// network request.
if (request.isCanceled()) {
request.finish("network-discard-cancelled");
request.notifyListenerResponseNotUsable();
continue;
}
addTrafficStatsTag(request);
// Perform the network request.
//執(zhí)行http請求mNetwork 是BasicNetwork
NetworkResponse networkResponse = mNetwork.performRequest(request);
request.addMarker("network-http-complete");
// If the server returned 304 AND we delivered a response already,
// we're done -- don't deliver a second identical response.
if (networkResponse.notModified && request.hasHadResponseDelivered()) {
request.finish("not-modified");
request.notifyListenerResponseNotUsable();
continue;
}
// Parse the response here on the worker thread.
Response<?> response = request.parseNetworkResponse(networkResponse);
request.addMarker("network-parse-complete");
// Write to cache if applicable.
// TODO: Only update cache metadata instead of entire record for 304s.
if (request.shouldCache() && response.cacheEntry != null) {
mCache.put(request.getCacheKey(), response.cacheEntry);
request.addMarker("network-cache-written");
}
// Post the response back.
request.markDelivered();
mDelivery.postResponse(request, response);
request.notifyListenerResponseReceived(response);
} catch (VolleyError volleyError) {
volleyError.setNetworkTimeMs(SystemClock.elapsedRealtime() - startTimeMs);
parseAndDeliverNetworkError(request, volleyError);
request.notifyListenerResponseNotUsable();
} catch (Exception e) {
VolleyLog.e(e, "Unhandled exception %s", e.toString());
VolleyError volleyError = new VolleyError(e);
volleyError.setNetworkTimeMs(SystemClock.elapsedRealtime() - startTimeMs);
mDelivery.postError(request, volleyError);
request.notifyListenerResponseNotUsable();
}
}
}
復(fù)制代碼

NetworkDispatcher這個類和CacheDispatcher很相似,不同之處只是CacheDispatcher是通過緩存獲得返回結(jié)果,而NetworkDispatcher是通過發(fā)送網(wǎng)絡(luò)請求獲得。

Process.setThreadPriority(Process.THREADPRIORITYBACKGROUND);

第一步也是設(shè)置該線程為最高級別;然后就是一個無限循環(huán);

request = mQueue.take();

就是從網(wǎng)絡(luò)集合獲取request對象;


這句代碼與CacheDispatcher不同,看到注解啦吧;

這里mNetwork是什么呢?其實就是


BasicNetwork,看看它的performRequest()方法:

/**
* 執(zhí)行Request請求
* */

@Override
public NetworkResponse performRequest(Request<?> request) throws VolleyError
{
//返回一個開機(jī)以來包括睡眠的度過時間
long requestStart = SystemClock.elapsedRealtime();
while (true) {
HttpResponse httpResponse = null;
byte[] responseContents = null;
List<Header> responseHeaders = Collections.emptyList();
try {
// Gather headers.
Map<String, String> additionalRequestHeaders =
getCacheHeaders(request.getCacheEntry());
//返回http結(jié)果
httpResponse = mBaseHttpStack.executeRequest(request, additionalRequestHeaders);
//狀態(tài)碼
int statusCode = httpResponse.getStatusCode();
//response頭部
responseHeaders = httpResponse.getHeaders();
// Handle cache validation.
/**
* 當(dāng)出現(xiàn)304(服務(wù)端有緩存且有效)會自己構(gòu)建一個Response返回
* */

if (statusCode == HttpURLConnection.HTTP_NOT_MODIFIED) {
/**
* 304:
* Not Modified 客戶端有緩沖的文檔并發(fā)出了一個條件性的請求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔
* 返回 304 的時候已經(jīng)做了一次數(shù)據(jù)庫查詢,但是可以避免接下來更多的數(shù)據(jù)庫查詢,
* 并且沒有返回頁面內(nèi)容而只是一個 HTTP Header,
* 從而大大的降低帶寬的消耗,對于用戶的感覺也是提高。
* 服務(wù)器會自動完成 Last Modified(緩存文件的) 和 If Modified Since(請求中包含的)
* */

Entry entry = request.getCacheEntry();
if (entry == null) {
return new NetworkResponse(HttpURLConnection.HTTP_NOT_MODIFIED, null, true,
SystemClock.elapsedRealtime() - requestStart, responseHeaders);
}
// Combine cached and response headers so the response will be complete.
//entry為Response的body
List<Header> combinedHeaders = combineHeaders(responseHeaders, entry);
return new NetworkResponse(HttpURLConnection.HTTP_NOT_MODIFIED, entry.data,
true, SystemClock.elapsedRealtime() - requestStart, combinedHeaders);
}
// Some responses such as 204s do not have content. We must check.
InputStream inputStream = httpResponse.getContent();
if (inputStream != null) {
responseContents =
inputStreamToBytes(inputStream, httpResponse.getContentLength());
} else {
// Add 0 byte response as a way of honestly representing a
// no-content request.
responseContents = new byte[0];
}
// if the request is slow, log it.
long requestLifetime = SystemClock.elapsedRealtime() - requestStart;
//記錄請求時間
logSlowRequests(requestLifetime, request, responseContents, statusCode);
if (statusCode < 200 || statusCode > 299) {
throw new IOException();
}
return new NetworkResponse(statusCode, responseContents, false,
SystemClock.elapsedRealtime() - requestStart, responseHeaders);
} catch (SocketTimeoutException e) {
attemptRetryOnException("socket", request, new TimeoutError());
} catch (MalformedURLException e) {
throw new RuntimeException("Bad URL " + request.getUrl(), e);
} catch (IOException e) {
int statusCode;
if (httpResponse != null) {
statusCode = httpResponse.getStatusCode();
} else {
throw new NoConnectionError(e);
}
VolleyLog.e("Unexpected response code %d for %s", statusCode, request.getUrl());
NetworkResponse networkResponse;
if (responseContents != null) {
networkResponse = new NetworkResponse(statusCode, responseContents, false,
SystemClock.elapsedRealtime() - requestStart, responseHeaders);
if (statusCode == HttpURLConnection.HTTP_UNAUTHORIZED ||
statusCode == HttpURLConnection.HTTP_FORBIDDEN) {
attemptRetryOnException("auth",
request, new AuthFailureError(networkResponse));
} else if (statusCode >= 400 && statusCode <= 499) {
// Don't retry other client errors.
throw new ClientError(networkResponse);
} else if (statusCode >= 500 && statusCode <= 599) {
if (request.shouldRetryServerErrors()) {
attemptRetryOnException("server",
request, new ServerError(networkResponse));
} else {
throw new ServerError(networkResponse);
}
} else {
// 3xx? No reason to retry.
throw new ServerError(networkResponse);
}
} else {
attemptRetryOnException("network", request, new NetworkError());
}
}
}
}
復(fù)制代碼

很長一大段,我們看核心的:


一開始想通過request獲取緩存entry通過entry獲取http頭部信息;
然后

httpResponse = mBaseHttpStack.executeRequest(request, additionalRequestHeaders);

mBaseHttpStack又是什么玩意呢?
其實就是之前


所以上邊我已經(jīng)透露過真正執(zhí)行http請求的是HurlStack

這里我不過多截圖了,有興趣可以看看Volley源碼HurlStack的executeRequest方法。其實這里它是通過HttpURLConnection來完成http請求的。相信大家對HttpURLConnection都很熟悉,在沒有使用過任何網(wǎng)絡(luò)請求框架的時候Android不是使用Apache的httpclient就是使用java里面的HttpURLConnection。

我們繼續(xù)BasicNetwork的performRequest:

請求返回獲取狀態(tài)碼,獲取返回的頭部信息
通過狀態(tài)碼判斷如果是304的話:
說明客戶端有緩沖的文檔,文檔信息還是有效的。

如果不是304狀態(tài)碼,

獲取了返回的內(nèi)容
最后返回NetworkResponse對象

繼續(xù)看回NetworkDispatcher:
獲取到返回的NetworkResponse

request.parseNetworkResponse(networkResponse);
這句代碼只是將返回的內(nèi)容通過頭部編碼信息轉(zhuǎn)換一下;

其實這里還有一段代碼就是將返回的信息作緩存,下次如果有同一個請求的時候如果狀態(tài)碼返回304就可以通過緩存獲取不走網(wǎng)絡(luò)請求內(nèi)容了。

核心代碼是

mDelivery.postResponse(request, response);
這段代碼其實就是ExcutorDelivery的postResponse

下面截圖是ResponseDeliveryRunnable的run方法


就是將返回結(jié)果給Request的deliverResponse或deliverError


這里只截了deliverResponse,看看里面其實就是我們范例代碼的listener。

整個Volley的請求流程就是這樣一個流程了。現(xiàn)在總結(jié)一下:

  • Volley實際是通過HttpURLConnection完成網(wǎng)絡(luò)請求的;
  • Volley最大的特點是有緩存隊列,先走緩存隊列,緩存隊列沒有信息再走網(wǎng)絡(luò)隊列;
  • Volley沒有創(chuàng)建線程池,而是默認(rèn)創(chuàng)建4個Thread執(zhí)行網(wǎng)絡(luò)請求;
  • 最后Volley使用了PriorityBlockingQueue這個隊列,該隊列特點線程安全的可以根據(jù)優(yōu)先級別獲取元素,而存放在PriorityBlockingQueue里面的元素需要實現(xiàn)Comparable接口;

最后放一張自己畫的VolleyUML圖,宏觀理解一下Volley的結(jié)構(gòu):

由于只是從范例代碼的角度看源碼,有些類沒有涉及到看,如果有什么問題歡迎指正和學(xué)習(xí),共同交流。

轉(zhuǎn)載于:https://juejin.im/post/5a30aaea6fb9a0450f21ec67

總結(jié)

以上是生活随笔為你收集整理的2017-10-9(Volley使用范例源码分析)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

九九在线视频 | 中文字幕在线影院 | 涩涩爱夜夜爱 | 四川妇女搡bbbb搡bbbb搡 | 四虎海外影库www4hu | 国产成人精品一二三区 | 国产一区二区三区午夜 | 日本精品小视频 | 91黄色免费看 | 91在线视频在线 | 天天操夜夜摸 | 国产精品aⅴ | 一区二区不卡视频在线观看 | 久福利| 亚洲精品久久久蜜桃直播 | 8x成人免费视频 | 天天干天天玩天天操 | 97在线视频免费播放 | 中文字幕免费高清在线观看 | 九九热免费在线观看 | 永久免费在线 | 中文字幕有码在线播放 | 成年人免费在线 | 国产高清视频在线播放 | av福利在线 | 日韩黄色一级电影 | 国产亚洲在线观看 | 九九九九精品九九九九 | 黄色av网站在线观看免费 | 激情丁香综合五月 | 久久久国产精品亚洲一区 | 天天色综合久久 | 五月婷婷丁香六月 | 玖玖爱免费视频 | 色在线免费 | 精品麻豆入口免费 | 91精品国产高清自在线观看 | 99精品影视 | 黄色午夜网站 | 色婷婷啪啪免费在线电影观看 | 精品国产一区二区三区久久久蜜臀 | 久久久久久久久久久影视 | 国产亚洲成人网 | 丁香电影小说免费视频观看 | 国产成人综合在线观看 | 黄色片网站av | 国产精品九九视频 | 69久久夜色精品国产69 | 最近中文国产在线视频 | 91成人蝌蚪 | 一区二区三区免费网站 | 亚洲影音先锋 | 在线观看免费福利 | 成片免费| 五月天com| 综合网伊人 | 黄色小说网站在线 | 精品久久久一区二区 | 99热这里只有精品国产首页 | 国产精品一区二区久久精品爱涩 | 久久福利影视 | 日韩精品久久久久久久电影竹菊 | 一区二区三区在线观看 | 色综合网 | 亚州人成在线播放 | 91爱爱网址 | 久久九九国产视频 | 亚洲人久久 | 午夜精品久久久久久99热明星 | 激情 亚洲| 亚洲午夜久久久综合37日本 | 国产黄在线 | 香蕉视频91 | 日韩在线观看网站 | 欧美日韩中文国产 | 国产91亚洲 | a天堂中文在线 | 久久这里只有精品久久 | 5月丁香婷婷综合 | 欧美不卡视频在线 | 在线视频在线观看 | 精品一区二区三区久久久 | 久久久久北条麻妃免费看 | 日韩免费一区二区三区 | 天天婷婷 | 日韩大片免费在线观看 | 国产伦理一区二区 | bbbbb女女女女女bbbbb国产 | 欧美一级日韩免费不卡 | 天天夜夜亚洲 | 色综合婷婷久久 | 免费一级片在线观看 | av在线激情 | 日韩av成人在线观看 | 婷婷99| 国产精品久久久久久久久久久久 | 色婷婷综合久久久久中文字幕1 | 免费人成网ww44kk44 | 亚洲二区精品 | 日本久久久久久久久久久 | 亚洲人久久久 | 一区在线观看 | 正在播放五月婷婷狠狠干 | 黄色三级网站在线观看 | 91自拍91 | 在线免费黄 | 成人毛片一区二区三区 | 超碰在线公开免费 | 日韩精品中字 | 亚洲韩国一区二区三区 | 国产成人精品一区二 | 视频二区 | 国产99区 | 久久久天天操 | 不卡的av| 亚洲欧美日韩国产一区二区三区 | 国产精品av在线免费观看 | 国产精品久久久久久久久大全 | 国产三级在线播放 | 手机av电影在线 | 国产精品精品国产婷婷这里av | 日韩av一区二区三区四区 | 国产网红在线观看 | 日韩中文字幕网站 | 国产精品白丝jk白祙 | 久久激情电影 | 精品久久久久久久久久久久久久久久久久 | 亚洲欧美国产精品va在线观看 | 成片免费观看视频大全 | 在线免费观看视频你懂的 | 欧美性久久久久久 | 日韩av片免费在线观看 | 免费a v在线 | 婷婷亚洲综合五月天小说 | 亚洲欧美国产日韩在线观看 | 日韩av高清在线观看 | 中文字幕国产精品一区二区 | 日韩专区在线观看 | 在线观看免费视频 | 天天操夜操视频 | 手机在线永久免费观看av片 | 成人小视频在线免费观看 | 色夜影院 | 97在线视频网站 | 精品一二三四在线 | 月丁香婷婷 | 国产亚洲高清视频 | 全黄色一级片 | 黄网在线免费观看 | 开心色婷婷| 五月婷婷在线观看视频 | 日韩精品综合在线 | 国产视频一区在线 | 亚洲在线高清 | 在线观看黄色 | av片中文 | 久久伊人综合 | 91av在线视频播放 | 日韩大片免费观看 | 精品视频在线观看 | 99在线精品观看 | 精品免费国产一区二区三区四区 | 亚洲经典在线 | 免费国产ww| 午夜影院一级片 | 干 操 插 | 亚洲激情五月 | 久久久久久久久久久久av | 成人午夜精品 | 久久,天天综合 | 97超碰人人澡人人爱学生 | 国产精品成人一区二区 | 超碰97网站 | 福利片视频区 | 久久看片网 | 伊人天堂网 | 91av资源网| 成人在线视频免费 | 国产手机在线观看视频 | 日韩一级黄色av | av在线亚洲天堂 | 亚洲国产精品第一区二区 | 九九爱免费视频在线观看 | 18久久久久| 国产剧情一区二区在线观看 | 欧美视频日韩视频 | 国产一区二三区好的 | 精品高清美女精品国产区 | 日本不卡视频 | 色国产精品一区在线观看 | 在线中文字幕视频 | 亚洲一级黄色av | 久久视频免费 | 中文字幕在线观看一区二区 | 美女黄网站视频免费 | 国产+日韩欧美 | 国产成人精品久 | 99精品国产在热久久 | 九九久久精品视频 | 欧美小视频在线观看 | 亚洲在线视频免费 | 亚洲精品乱码久久久久久蜜桃91 | 精品国产乱码久久久久久1区2匹 | 国产色小视频 | 又色又爽又激情的59视频 | 偷拍福利视频一区二区三区 | 99久久日韩精品免费热麻豆美女 | 日韩中字在线观看 | av一区在线播放 | 五月在线 | 亚洲成人av一区二区 | 丝袜网站在线观看 | 久久国产影视 | 91色在线观看视频 | 亚洲乱亚洲乱亚洲 | 日韩精品一区二区三区免费视频观看 | 在线精品亚洲一区二区 | 久久免费视频这里只有精品 | 四虎成人精品永久免费av | 国产成人精品亚洲精品 | 欧美久草网 | 国产福利在线不卡 | 91看片在线观看 | 激情喷水| 久久综合影音 | 国产亚洲成人网 | 欧美极度另类性三渗透 | 日本爽妇网 | 在线视频 一区二区 | 成人中文字幕在线 | www久久久久 | 中文字幕av免费观看 | 免费黄色特级片 | 成年人免费看av | 国产小视频免费在线观看 | 中文国产成人精品久久一 | 国产区在线 | aav在线| 丝袜美腿亚洲综合 | 久久综合久久综合这里只有精品 | 久久久久久久久久免费 | 国产一及片 | 国产精品久久久久久久av电影 | 色婷婷丁香| 久久 精品一区 | 美女黄色网在线播放 | 久久久精品一区二区 | 五月亚洲| 99视频精品视频高清免费 | 奇米影视在线99精品 | 中文字幕av网站 | 国产日韩欧美在线影视 | 337p日本大胆噜噜噜噜 | 精品国产诱惑 | 狠狠躁天天躁综合网 | 伊人狠狠操 | 91成人免费电影 | 99精品欧美一区二区三区 | 在线 视频 一区二区 | 天天射天天干天天插 | 日韩中文字幕在线 | 久久综合狠狠狠色97 | a级一a一级在线观看 | 中文字幕在线播放第一页 | 六月丁香伊人 | 日韩电影精品一区 | 色天天综合久久久久综合片 | 日日色综合 | 福利av影院 | 国产做aⅴ在线视频播放 | 亚洲资源在线 | 国产黄色免费在线观看 | 一区二区在线影院 | 欧美视频二区 | 亚洲国产av精品毛片鲁大师 | 亚洲成av| 久av电影 | 婷婷丁香色 | 亚洲天天做 | 婷婷伊人五月 | 午夜视频导航 | 免费高清在线观看成人 | 黄色最新网址 | 久久激情五月婷婷 | 福利一区二区 | 国产精品video | 你操综合 | 天天激情综合 | 亚洲在线成人精品 | 久久精品在线免费观看 | 精品福利在线视频 | 在线播放 一区 | 免费在线观看视频a | 97国产精品免费 | 综合网色| 国产精品免费在线观看视频 | 久草在线播放视频 | a黄色片| 一区二区三区在线免费观看 | 久久男人免费视频 | 日韩精品一区二区在线观看视频 | 探花视频免费在线观看 | 欧洲精品久久久久毛片完整版 | 伊人狠狠干 | 亚洲精品视频www | www.久久婷婷| 国产手机在线观看视频 | 国产视频一区二区在线播放 | 免费福利在线 | 在线免费观看黄色 | 免费在线中文字幕 | 国产一区欧美一区 | 日本黄色特级片 | 五月综合色 | 免费观看成人av | 色a资源在线 | av亚洲产国偷v产偷v自拍小说 | 99久久99久久精品免费 | 久久新视频 | 久久久网址 | 中文字幕一区二区三区在线观看 | www.黄色片网站 | 91视频中文字幕 | 中文字幕第一页在线视频 | 欧美一区二区伦理片 | 国产麻豆剧果冻传媒视频播放量 | 国产精成人品免费观看 | 精品欧美小视频在线观看 | av在线播放亚洲 | 国产原创av片 | 久久亚洲成人网 | 亚洲精品高清一区二区三区四区 | 久久免费的精品国产v∧ | 天天干天天干 | 久久久久亚洲国产精品 | 91成年视频| 免费网址在线播放 | 人人澡澡人人 | 日日摸日日碰 | 欧美精品久久久久a | 国产精品99久久久久久久久久久久 | 久久久久区 | 一本到视频在线观看 | 日韩黄色免费在线观看 | 人人干人人超 | 日韩在线网 | 一区在线观看视频 | 91福利国产在线观看 | 久久成人精品电影 | 成人av网站在线观看 | 久久91网 | 三级黄色片子 | 国产视频精品久久 | 999久久久国产精品 高清av免费观看 | 美女网站视频久久 | 免费在线观看av电影 | 亚洲欧美视屏 | 日韩一二三 | 国产午夜一区 | 国产黑丝一区二区三区 | 最新中文字幕视频 | 91视频链接 | 国产精品久久久久久久免费大片 | 亚洲精品视频网址 | 99精品视频免费在线观看 | 中文在线字幕免费观看 | 成人在线免费av | 久久综合99| 成人动漫一区二区三区 | 日本黄色一级电影 | 日韩免费观看视频 | 毛片无卡免费无播放器 | 三级小视频在线观看 | 成人精品一区二区三区电影免费 | 午夜神马福利 | 色停停五月天 | 久久久久久久久影院 | 午夜精品视频一区 | 午夜精品一区二区三区免费 | 成人在线视频论坛 | 麻豆视传媒官网免费观看 | 久久精品国产v日韩v亚洲 | 欧美男同视频网站 | 亚洲一区精品人人爽人人躁 | 日韩精品一区二区免费 | 国产在线视频一区二区 | 波多野结衣小视频 | 九九精品无码 | 亚洲高清色综合 | 亚洲激情视频在线 | 欧美日韩精品在线视频 | 91成人精品在线 | 免费国产ww | 日韩色爱 | 伊人资源站 | 黄网站色成年免费观看 | 美女福利视频在线 | 久青草影院 | 亚洲午夜av久久乱码 | 国产黄在线免费观看 | 91免费高清视频 | 亚洲综合欧美激情 | 鲁一鲁影院 | 有码视频在线观看 | 国产黄色精品在线观看 | 在线 影视 一区 | 丁香六月婷婷开心 | 黄色在线观看www | www.夜夜操.com | 91最新国产| 操操日日 | av在线精品 | 天堂视频一区 | 91人人揉日日捏人人看 | 黄色片网站av | 视频在线亚洲 | 精品一区二区免费 | 久久伦理 | 丰满少妇在线观看资源站 | 成人av一区二区在线观看 | 91漂亮少妇露脸在线播放 | 国产免费小视频 | 亚洲丝袜一区二区 | 毛片网站在线观看 | 91日韩精品 | 91视频在线观看免费 | 久久人人爽人人爽人人片 | 不卡av电影在线 | 99精品网站 | 99久久夜色精品国产亚洲96 | 久久精品成人欧美大片古装 | 免费在线国产精品 | 香蕉91视频| 国产美女视频免费观看的网站 | 欧美激情综合色综合啪啪五月 | 亚洲精品国产日韩 | 夜夜操夜夜干 | 国产aaa毛片| 亚洲一区二区三区在线看 | 欧美性生活大片 | 精品国产乱码 | 天天操狠狠操网站 | 国产一区二区三区在线免费观看 | 奇米网在线观看 | 欧美日本在线观看视频 | 91丨九色丨国产在线 | 欧美黑人性爽 | 99色在线观看视频 | 欧美性极品xxxx做受 | 麻豆视频免费入口 | 国产在线播放一区二区 | 伊人激情网 | 久草在 | 天天操夜操视频 | 美女黄网站视频免费 | 久久久久成人免费 | 久久黄色美女 | 国产xvideos免费视频播放 | 99久精品| 91在线观看黄 | 亚洲热久久 | 国产精品久久一区二区三区, | 欧美一级性 | 精品国产乱码久久久久久1区2匹 | 999久久久免费精品国产 | 欧美aa一级 | 最近日本mv字幕免费观看 | 欧美日本啪啪无遮挡网站 | 婷婷六月久久 | 国产免费二区 | 天天爽人人爽 | 国产精品理论在线观看 | 久久综合欧美精品亚洲一区 | 免费观看国产视频 | 国产中文字幕视频在线观看 | 中文字幕免费一区二区 | 免费人人干| 国产三级久久久 | 色99视频 | 国产精品99久久久精品免费观看 | 四虎成人精品永久免费av九九 | 91成品视频 | 欧美一级欧美一级 | 久草在线最新免费 | 国产精品一区二区在线观看免费 | 欧美日韩在线视频一区二区 | 欧美激情视频久久 | 国产在线精品区 | 91精品国自产在线观看 | 欧美日韩3p | 欧洲一区二区三区精品 | av资源免费在线观看 | 欧美一区二区视频97 | 国产精品久久在线观看 | 在线亚洲播放 | 五月婷婷在线观看 | 91精品导航 | 深夜免费网站 | 精品国内自产拍在线观看视频 | 狠狠躁夜夜躁人人爽超碰91 | 久久第四色| 日韩激情小视频 | 国产在线观看你懂的 | av中文字幕不卡 | 成人高清在线观看 | 中文字幕日本在线观看 | 久久久久久久久久久成人 | 国产综合在线视频 | 最新中文字幕在线资源 | 狠狠干夜夜操 | 国产精品一区二区三区电影 | www黄色软件 | 日韩精品欧美视频 | 99爱国产精品 | 天天综合日日夜夜 | 久草免费在线观看视频 | 欧美另类一二三四区 | 午夜精品一区二区三区在线播放 | 久久精品福利 | www.夜夜干.com | 九七人人干| 国产精品一级视频 | 18久久久久 | 美女免费视频网站 | 在线看的av网站 | 免费色婷婷 | 我要色综合天天 | 国产亚洲精品久久久久久电影 | 成人免费观看网址 | 日韩一级电影在线 | 91精品国产欧美一区二区成人 | 热久久免费国产视频 | 东方av在线免费观看 | 精品91在线 | 在线 精品 国产 | 在线三级播放 | 亚洲免费观看视频 | 日韩在线观看你懂的 | 色综合天天狠天天透天天伊人 | 日韩欧美一区二区在线播放 | 91人人澡人人爽 | 久久99精品久久久久久三级 | 天天干天天摸天天操 | 欧美俄罗斯性视频 | www.成人久久 | 国产高清在线免费视频 | 中文字幕一区二区三区久久蜜桃 | 国产小视频在线观看免费 | 黄色视屏在线免费观看 | 亚洲成人av在线播放 | 日韩免费观看高清 | 一级黄色a视频 | jizz999| 中文字幕一区二区三区乱码不卡 | 亚洲精品视频免费观看 | 久久久久久精 | 狠狠的操狠狠的干 | 欧美韩日精品 | 久久久久免费精品国产小说色大师 | 国产xxxx性hd极品 | 日韩aⅴ视频 | 亚洲春色奇米影视 | 中文资源在线官网 | 午夜精品福利一区二区三区蜜桃 | 中文字幕一区三区 | 国产在线免费 | 国产精品久久久久久久久久 | 国产特级毛片aaaaaa毛片 | 在线影院中文字幕 | 免费中文字幕视频 | 久久99精品国产91久久来源 | 久久久国际精品 | 992tv人人网tv亚洲精品 | 五月激情综合婷婷 | 欧美精品v国产精品v日韩精品 | 操操操av| 超碰在97| 日日综合| 国产在线视频在线观看 | 一级片黄色片网站 | 一区二区中文字幕在线播放 | 波多野结衣日韩 | 国产精品久久久久久久久久久久 | 在线视频手机国产 | 色偷偷人人澡久久超碰69 | 91夫妻自拍| 国产精品久久久久久久毛片 | 亚洲四虎在线 | 成人av视屏 | 国产做aⅴ在线视频播放 | 亚洲黄色片一级 | 亚洲一区不卡视频 | 精品久久久免费视频 | 天天操天天添天天吹 | 中文字幕免费国产精品 | 一级精品视频在线观看宜春院 | 天天色视频| 超碰人人99 | 日韩在线欧美在线 | 免费看的黄色的网站 | 国产日韩欧美视频 | 人人澡超碰碰97碰碰碰软件 | 欧美视频二区 | 国内外成人免费在线视频 | 欧美精品天堂 | 国产精品人人做人人爽人人添 | 久久久久久久久久久精 | 色的网站在线观看 | a级国产乱理论片在线观看 特级毛片在线观看 | 亚洲日日射 | 中文字幕资源网 国产 | 国产一区在线视频播放 | 免费美女久久99 | 日本激情视频中文字幕 | 亚洲黄色小说网址 | 欧洲一区二区三区精品 | av免费看av | 在线电影a | 在线视频观看你懂的 | 久草网站在线观看 | av一区二区三区在线观看 | 久草视频在线免费看 | 成人资源在线播放 | 免费日韩av电影 | 91中文字幕一区 | 91香蕉视频好色先生 | 二区视频在线 | 日本中文字幕在线播放 | 午夜久久久久久久久 | 在线观看欧美成人 | 欧美一区二区精品在线 | 一区二区视频欧美 | 亚洲小视频在线观看 | 天天操夜操 | 久久久久欧美精品 | 黄色av电影 | 久色小说 | 亚洲精品视频在线播放 | www.com在线观看 | 亚洲欧洲国产精品 | 91精品视频免费看 | 69av免费视频| 国产在线观看免费观看 | 久久精品免费播放 | 日韩视频免费看 | 超碰精品在线观看 | 97超碰免费 | 九色福利视频 | 午夜精品在线看 | 精品成人在线 | 最近中文字幕免费av | 色先锋av资源中文字幕 | 91视频久久久久 | 色婷婷 亚洲 | 久久久久久久免费观看 | 国产精品成 | 在线视频 成人 | 在线观看日韩一区 | 欧美精品一区二区免费 | 久久久美女 | 一级a性色生活片久久毛片波多野 | 99视频精品 | 91在线超碰 | 国产精品1区2区3区在线观看 | 深夜免费福利 | 91av99| 97超碰人人 | www.久久色 | 久久久久久久久久免费视频 | 国产麻豆剧传媒免费观看 | 国产中文字幕视频在线观看 | 国产精品观看视频 | 婷婷午夜 | 国产高清不卡 | 久久久国产影视 | 久草视频资源 | 四虎影视8848aamm | 国产又粗又猛又色又黄视频 | 国产视频在线播放 | 国产看片免费 | 午夜丁香网 | 天天干视频在线 | 日韩一区二区免费视频 | 中文字幕亚洲不卡 | 久久高清国产 | 国产精品午夜在线 | 日韩乱理 | av解说在线观看 | 亚洲伊人成综合网 | 成人资源在线播放 | 日韩伦理片一区二区三区 | 丁香在线观看完整电影视频 | 国产在线播放一区二区 | 欧美爽爽爽 | 中文字幕精品www乱入免费视频 | 久久久99国产精品免费 | 国产精品99免费看 | 国产午夜亚洲精品 | 欧美粗又大 | 九九热在线播放 | 东方av在线免费观看 | 久久免费毛片视频 | 欧美日韩在线观看不卡 | 亚洲黄色成人网 | 日本bbbb摸bbbb| 手机av看片| 天天色天天骑天天射 | 国产99久久久国产 | www.夜色321.com | 欧美一级大片在线观看 | 激情欧美在线观看 | 日本精品久久久久中文字幕 | 成人午夜精品久久久久久久3d | av性在线| 久久精品久久久久电影 | 青青草国产在线 | 日韩av中文在线 | 久久久蜜桃一区二区 | 国产一级91 | 亚洲精品在线免费播放 | 人人爽久久涩噜噜噜网站 | 五月婷婷在线播放 | 精品一区在线看 | 人人狠狠综合久久亚洲婷 | 插婷婷 | 免费观看成人网 | 五月视频 | 欧美日韩中文国产 | 999热线在线观看 | 欧美精品久久久久久久久免 | japanesexxxhd奶水 国产一区二区在线免费观看 | 国产中文a| 99视频久| 黄色亚洲 | 18做爰免费视频网站 | 国产96精品 | 波多野结衣在线观看视频 | 在线看国产 | 成人久久18免费网站 | 亚洲精色 | 中文字幕一区二区三 | 成人在线免费观看网站 | 日韩精品三区四区 | 午夜成人免费电影 | 日日射av | 欧美精品久久久久久久久老牛影院 | 欧美三人交 | 亚洲精品国产日韩 | 四虎永久免费在线观看 | 国产探花| 五月婷婷在线综合 | 免费午夜在线视频 | 狠狠综合久久av | 午夜久久精品 | 亚洲精品视频免费在线观看 | 亚洲精品大片www | 91日韩免费| 天天操伊人 | 中文字幕国产精品 | 亚洲无吗av | 亚洲色五月 | 99久免费精品视频在线观看 | 亚洲欧洲精品视频 | 一本色道久久综合亚洲二区三区 | 亚洲综合视频在线观看 | 亚洲最新在线 | 又大又硬又黄又爽视频在线观看 | 超碰个人在线 | 国产精品福利在线观看 | 国产第一福利 | 中文字幕亚洲精品日韩 | 91色综合 | 日日摸日日 | www.香蕉视频在线观看 | 99久久久久久国产精品 | 久久久久综合精品福利啪啪 | 欧美极品一区二区三区 | 成人av视屏 | 国产精品久久久亚洲 | 成人羞羞视频在线观看免费 | 激情欧美一区二区三区免费看 | 欧美日韩视频一区二区 | 中文不卡视频在线 | 欧美 日韩 国产 中文字幕 | 国产精品久久久久久妇 | 久草在线最新视频 | 久久综合狠狠综合久久综合88 | 久久人人97超碰国产公开结果 | 丁香六月激情婷婷 | 中文字幕在线观看视频一区 | 国产999精品久久久久久麻豆 | 中文字幕资源网在线观看 | 香蕉视频亚洲 | 免费网站观看www在线观看 | 日日摸日日添日日躁av | 国产精品免费视频一区二区 | 久久美女高清视频 | 免费日韩 精品中文字幕视频在线 | 久草网首页| 最新日本中文字幕 | 亚洲国产成人在线观看 | 国产 日韩 在线 亚洲 字幕 中文 | 91视频免费看片 | 又紧又大又爽精品一区二区 | 综合久久五月天 | 国产中文字幕一区二区三区 | 久久在线观看视频 | 狠狠狠狠狠干 | 91天堂在线观看 | 国产理论片在线观看 | 久久黄色小说视频 | 91精品一区二区三区久久久久久 | 狠狠干婷婷 | 三级视频日韩 | 黄色大全免费网站 | a级黄色片视频 | 日韩成人精品在线观看 | 精品 激情 | 精品国产美女在线 | 伊人色**天天综合婷婷 | 色橹橹欧美在线观看视频高清 | 亚洲成人免费在线观看 | 久草国产在线观看 | 国产小视频在线播放 | 91porny九色在线播放 | 欧美精品在线一区二区 | 天天做天天爱夜夜爽 | 欧美久久99 | 国产精品久久久久av免费 | 国产成人av电影在线观看 | 黄色毛片网站在线观看 | 国产精品嫩草69影院 | av天天色 | 欧美一区二区日韩一区二区 | 在线观看亚洲电影 | 一级精品视频在线观看宜春院 | 久久成人午夜视频 | 欧美日韩性 | 国产粉嫩在线观看 | 午夜精品久久久久久久99水蜜桃 | 深爱激情久久 | 中文字幕在线专区 | 国产黄色片网站 | 成人午夜精品福利免费 | 91精品国产乱码久久桃 | 亚洲理论视频 | 狠狠的操狠狠的干 | 开心综合网| 午夜视频在线观看一区二区 | 国产视频导航 | 日韩免费播放 | 99视频免费 | 亚洲欧美日韩不卡 | 五月婷婷丁香六月 | 国产999精品视频 | 在线国产观看 | www.夜夜爱 | 欧美一级日韩免费不卡 | 麻豆免费视频 | 国产精品久久久久久久久久久久午夜 | 激情综合网五月 | 久久你懂得 | 久久国产视屏 | 首页国产精品 | 国产高清视频免费在线观看 | 久99热| 中文字幕乱码日本亚洲一区二区 | 国产成人三级在线 | 国产 日韩 中文字幕 | 521色香蕉网站在线观看 | 91成人在线网站 | 国产一区视频在线播放 | 91高清一区 | 热久久在线视频 | 久久色在线播放 | 日韩三区在线观看 | 久草在线播放视频 | 久久综合五月婷婷 | 日本在线视频网址 | 中文字幕一区二区三区久久蜜桃 | 国产精品成人自产拍在线观看 | 天天射综合网视频 | 亚洲另类视频 | 最近中文字幕高清字幕在线视频 | 在线观看一区 | 欧美日韩在线免费观看 | av免费在线免费观看 | 色综合中文综合网 | 人人澡人人草 | 成人网页在线免费观看 | 97在线视 | 四虎影视国产精品免费久久 | 久草在线视频资源 | 日韩中文字幕视频在线观看 | 日韩精品一区在线播放 | 久久久久成人精品 | 欧美成人影音 | 亚洲欧洲一级 | 亚洲第一中文网 | 一区二区三区手机在线观看 | 在线日韩精品视频 | 中文视频在线 | 婷婷视频在线播放 | 亚洲乱码国产乱码精品天美传媒 | 黄色成人影院 | 亚洲精品久久久久久久不卡四虎 | 九九久久久久久久久激情 | 三级黄色三级 | 一区二区视频免费在线观看 | 国产精品一区二区吃奶在线观看 | 三级小视频在线观看 | 黄网站色视频免费观看 | 欧美xxxxx在线视频 | 精品久久久久一区二区国产 | 亚洲欧美乱综合图片区小说区 | 在线激情小视频 | 国产清纯在线 | 国产无遮挡又黄又爽在线观看 | 精选久久 | 美女视频一区二区 | 久久99精品久久久久蜜臀 | 亚洲高清视频在线观看 | 日韩有码在线播放 | 精品美女在线观看 | 日韩久久一区二区 | 91入口在线观看 | 91成人久久| 亚洲国产日本 | 亚洲色图激情文学 | 四虎影视成人永久免费观看亚洲欧美 | 四虎8848免费高清在线观看 | 久草9视频 | 国产精品日韩久久久久 | 欧美一级欧美一级 | 欧洲亚洲女同hd | 日韩一级精品 | 91久久国产露脸精品国产闺蜜 | 亚洲第一中文字幕 | 色欧美成人精品a∨在线观看 | 日韩v欧美v日本v亚洲v国产v | 99久久99久国产黄毛片 | 大胆欧美gogo免费视频一二区 | 国产3p视频 | 中文字幕免费久久 | 日韩av影视| 天天操 夜夜操 | 欧美日韩久久一区 | 亚洲婷婷在线视频 | 高潮久久久久久久久 | 高清av在线 | 久久久久久久久久亚洲精品 | 开心激情网五月天 | 黄色av三级在线 | 综合色中文 | 337p欧美| 亚洲天堂网站 | 天天爱天天射天天干天天 | 亚洲狠狠操 | 亚洲一级片av | 亚洲电影自拍 | 国产日产精品久久久久快鸭 | 人成电影网 | 国产精品久久久久久999 | 九九九视频精品 | 99精品国产一区二区三区麻豆 | 成人久久免费视频 | 69久久久 | 久久国产三级 | 99视频免费看 | 欧美精品乱码久久久久久 | 亚洲国产成人在线播放 | 久久高清| 国产视频久久久久 | 免费精品在线 | 国产精品一区二区av日韩在线 | 国产综合福利在线 | 成人免费大片黄在线播放 | 久久超级碰视频 | 日韩字幕在线观看 | 日韩黄色大片在线观看 | 午夜久久成人 | 在线精品亚洲 | 999久久久久久久久久久 | 亚洲国产三级在线 | a黄色片| 婷香五月 | 久操97| av解说在线观看 | 四虎影视8848aamm | 亚洲在线视频播放 | 婷婷六月天丁香 | av在线精品 | 在线之家官网 | 在线视频专区 | 成人高清在线观看 | 天天玩天天干 | 日本中文字幕久久 | 亚洲成人资源在线 |