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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

dubbo之服务本地暴露

發(fā)布時間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dubbo之服务本地暴露 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

寫在前面

源碼 。

服務(wù)提供者是標(biāo)記了@Service注解的類,想要被服務(wù)消費者使用,必須將服務(wù)暴露出去,即讓服務(wù)消費者拿到封裝服務(wù)信息的com.alibaba.dubbo.common.URL對象字符串,當(dāng)前有三種服務(wù)暴露方式:

遠(yuǎn)程暴露:即將服務(wù)信息注冊到遠(yuǎn)端注冊中心,如配置<dubbo:service scope="remote" />。 本地暴露:JVM內(nèi)部調(diào)用,因為信息已經(jīng)在內(nèi)存中,通過內(nèi)存可以直接獲取調(diào)用信息,因此叫做本地暴露,如配置<dubbo:service scope="local">。 不暴露:不暴露服務(wù),可以忽略這種方式,如配置<dubbo:service scope="none">。

本文來分享的是本地暴露,相關(guān)的源碼在模塊dubbo-rpc-injmv中,如下圖:

在dubbo之服務(wù)提供者配置 一文中,我們其實分析了部分服務(wù)暴露的內(nèi)容,大家可以看下,本文為了承接,會有部分內(nèi)容的重疊,就從方法com.alibaba.dubbo.config.ServiceConfig.doExportUrls來開始分析。

1:doExportUrls

源碼如下:

class FakeCls {private void doExportUrls() {// 2022-01-21 18:25:43List<URL> registryURLs = loadRegistries(true);// 循環(huán)所有的協(xié)議暴露服務(wù)到所有的注冊中心地址// 協(xié)議:protocols,即<dubbo:protocol>設(shè)置// 服務(wù):通過<dubbo:service>設(shè)置// 注冊中心地址:registryURLs,通過<dubbo:registry>指定for (ProtocolConfig protocolConfig : protocols) {// 2022-01-21 18:34:22doExportUrlsFor1Protocol(protocolConfig, registryURLs);}} }

2022-01-21 18:25:43處獲取配置的所有注冊中心地址,具體參考1.1:loadRegistries。2022-01-21 18:34:22處是將服務(wù)按照指定的協(xié)議注冊到注冊中心,具體參考1.2:doExportUrlsFor1Protocol。

1.1:loadRegistries

本文講解的時本地服務(wù)暴漏,不會使用到這里的信息,但是為了完整性,放在這里,對這部分感興趣的朋友可以參考dubbo之服務(wù)遠(yuǎn)程暴露 文章分析。

1.2:doExportUrlsFor1Protocol

將服務(wù)按照指定的協(xié)議注冊到注冊中心,分為遠(yuǎn)程暴漏和本地暴漏,其中本地暴漏不會注冊服務(wù)到注冊中心,因為是同一個JVM,信息可以直接從JVM中獲取到,因為本文重點分析的是本地服務(wù)暴漏,所以關(guān)于遠(yuǎn)程暴漏的相關(guān)源碼會選擇性忽略,關(guān)于這部分的分析,可以才參考dubbo之服務(wù)遠(yuǎn)程暴露 文章分析。源碼如下:

class FakeCls {private void doExportUrlsFor1Protocol(ProtocolConfig protocolConfig, List<URL> registryURLs) {// 協(xié)議的名稱,如<dubbo:protocol name="dubbo" port="20826">,這里就是dubbo// 協(xié)議:就是暴漏自己的方法String name = protocolConfig.getName();// 沒有則默認(rèn)使用dubboif (name == null || name.length() == 0) {name = "dubbo";}//*** 省略構(gòu)建URL相關(guān)代碼 ***//// 獲取scope,如果是本地暴漏的話配置如:<dubbo:service interface="dongshi.daddy.service.scopelocal.ScopeLocalService" ref="scopeLocalService" scope="local"/>// 在文章開頭也提到了可配置為remote,代表遠(yuǎn)程暴漏,none代表不爆露String scope = url.getParameter(Constants.SCOPE_KEY);// 如果是配置scope="none",不進行任何操作,此時不進行暴漏,即不對外使用if (!Constants.SCOPE_NONE.toString().equalsIgnoreCase(scope)) {// 如果是scope不是remote則使用本地服務(wù)暴漏if (!Constants.SCOPE_REMOTE.toString().equalsIgnoreCase(scope)) {// 2022-01-22 12:25:51exportLocal(url);}// 如果是scope不是local則使用遠(yuǎn)程服務(wù)暴漏if (!Constants.SCOPE_LOCAL.toString().equalsIgnoreCase(scope)) {// *** 省略遠(yuǎn)程服務(wù)暴漏邏輯 *** //}}// 添加暴漏服務(wù)urlthis.urls.add(url);} }

2022-01-22 12:25:51處是本地服務(wù)暴漏,具體參考1.3:exportLocal。

1.3:exportLocal

源碼如下:

class FakeCls {private void exportLocal(URL url) {// url.getProtocol():一般是dubbo // Constants.LOCAL_PROTOCOL:injvm// 為什么做這個判斷???if (!Constants.LOCAL_PROTOCOL.equalsIgnoreCase(url.getProtocol())) {// 構(gòu)建local的URL,如// injvm://127.0.0.1/dongshi.daddy.service.scopelocal.ScopeLocalService?accesslog=true&anyhost=true&application=dongshidaddy-provider&bean.name=dongshi.daddy.service.scopelocal.ScopeLocalService&bind.ip=192.168.2.107&bind.port=20826&dubbo=2.0.2&generic=false&interface=dongshi.daddy.service.scopelocal.ScopeLocalService&methods=sayHi&owner=dongshidaddy&pid=6324&scope=local&side=provider&timestamp=1642823993714URL local = URL.valueOf(url.toFullString()).setProtocol(Constants.LOCAL_PROTOCOL).setHost(LOCALHOST).setPort(0);// public static final String SERVICE_IMPL_CLASS = "service.classimpl";// url.getServiceKey():dongshi.daddy.service.scopelocal.ScopeLocalService// getServiceClass(ref:class dongshi.daddy.service.scopelocal.ScopeLocalServiceImpl// 將服務(wù)類的信息存儲到StaticContext中StaticContext.getContext(Constants.SERVICE_IMPL_CLASS).put(url.getServiceKey(), getServiceClass(ref));// 2022-01-22 17:21:22Exporter<?> exporter = protocol.export(proxyFactory.getInvoker(ref, (Class) interfaceClass, local));exporters.add(exporter);logger.info("Export dubbo service " + interfaceClass.getName() + " to local registry");}} }

該小節(jié)以下部分稍微有點繞,大家吃耐心,不懂的話,多看幾遍!!!

2022-01-22 17:21:22處protocol定義為private static final Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension();,可以看到是獲取自適應(yīng)擴展類 ,其中從Protocol接口也可以看出來,源碼如下:

/*** Protocol. (API/SPI, Singleton, ThreadSafe)*/ @SPI("dubbo") public interface Protocol {int getDefaultPort();@Adaptive<T> Exporter<T> export(Invoker<T> invoker) throws RpcException;@Adaptive<T> Invoker<T> refer(Class<T> type, URL url) throws RpcException;void destroy(); }

可以看到export方法是標(biāo)注了@Adaptive 注解的,此處protocol
是Protocol#Adaptive,這個很好理解,因為獲取就是動態(tài)生成的自適應(yīng)子類,通過其調(diào)用真正的擴展實現(xiàn)類,那么想要知道調(diào)用的到底是誰就需要知道生成的代碼到是什么樣子的,我們可以通過如下的步驟來獲取其內(nèi)容:

在com.alibaba.dubbo.common.extension.ExtensionLoader.createAdaptiveExtensionClass中的代碼ClassLoader classLoader = findClassLoader();添加條件變量"code.contains("Protocol$Adaptive")",然后再次運行程序,就可以停止在這里,獲取code的內(nèi)容了。

如下是我獲取的內(nèi)容:

public class Protocol$Adaptive implements com.alibaba.dubbo.rpc.Protocol {public void destroy() {throw new UnsupportedOperationException("method public abstract void com.alibaba.dubbo.rpc.Protocol.destroy() of interface com.alibaba.dubbo.rpc.Protocol is not adaptive method!");}public int getDefaultPort() {throw new UnsupportedOperationException("method public abstract int com.alibaba.dubbo.rpc.Protocol.getDefaultPort() of interface com.alibaba.dubbo.rpc.Protocol is not adaptive method!");}public com.alibaba.dubbo.rpc.Invoker refer(java.lang.Class arg0, com.alibaba.dubbo.common.URL arg1) throws com.alibaba.dubbo.rpc.RpcException {if (arg1 == null) throw new IllegalArgumentException("url == null");com.alibaba.dubbo.common.URL url = arg1;String extName = (url.getProtocol() == null ? "dubbo" : url.getProtocol());if (extName == null)throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.rpc.Protocol) name from url(" + url.toString() + ") use keys([protocol])");com.alibaba.dubbo.rpc.Protocol extension = (com.alibaba.dubbo.rpc.Protocol) ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.rpc.Protocol.class).getExtension(extName);return extension.refer(arg0, arg1);}public com.alibaba.dubbo.rpc.Exporter export(com.alibaba.dubbo.rpc.Invoker arg0) throws com.alibaba.dubbo.rpc.RpcException {if (arg0 == null) throw new IllegalArgumentException("com.alibaba.dubbo.rpc.Invoker argument == null");if (arg0.getUrl() == null)throw new IllegalArgumentException("com.alibaba.dubbo.rpc.Invoker argument getUrl() == null");com.alibaba.dubbo.common.URL url = arg0.getUrl();String extName = (url.getProtocol() == null ? "dubbo" : url.getProtocol());if (extName == null)throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.rpc.Protocol) name from url(" + url.toString() + ") use keys([protocol])");com.alibaba.dubbo.rpc.Protocol extension = (com.alibaba.dubbo.rpc.Protocol) ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.rpc.Protocol.class).getExtension(extName);return extension.export(arg0);} }

我們重點關(guān)注其中的export方法,可以看到是調(diào)用url.getProtocol()作為目標(biāo)擴展類的名稱,那么是什么值呢?我們的url為injvm://127.0.0.1/...可以看到協(xié)議是injvm,那么對應(yīng)的擴展類是誰呢,可以從文件META-INF/dubbo/internal/com.alibaba.dubbo.rpc.Protocol中找到答案,其中key為injvm的的配置項內(nèi)容是injvm=com.alibaba.dubbo.rpc.protocol.injvm.InjvmProtocol,因此最終調(diào)用的擴展類類是com.alibaba.dubbo.rpc.protocol.injvm.InjvmProtocol,但是真的是這樣嗎?我們來debug看一下,如下圖:

從圖中可以看出,還分別調(diào)用了QosProtocolWrapper,ProtocolListenerWrapper,ProtocolFilterWrapper,這是Protocol的Wrapper類,我們從META-INF/dubbo/internal/com.alibaba.dubbo.rpc.Protocol中可以看出來,如下圖:

關(guān)于Wrapper詳細(xì)可以參考dubbo之SPI Wrapper分析 。

最終調(diào)用過程為Protocol$Adaptive->QosProtocolWrapper->ProtocolListenerWrapper->ProtocolFilterWrapper->InjvmProtocol。具體的我們在2:Protocol分析。

2:Protocol

源碼如下:

@SPI("dubbo") public interface Protocol {// 獲取當(dāng)前協(xié)議在沒有配置端口時的默認(rèn)端口號int getDefaultPort();// 暴漏service供遠(yuǎn)程調(diào)用// 1:協(xié)議對象需要在收到一個請求后記錄遠(yuǎn)程源的的地址,通過API RpcContext.getContext().setRemoteAddress()// 2:該方法必須具備冪等性(idempotent [a?'demp?t?nt]),即通過該方法調(diào)用一次或者是多次來暴漏一個URL沒有任何差別// 3:Invoker實例需要被框架傳入進來,protoco擴展類需要用到,如自適應(yīng)時使用// 返回值:Exporter<T>,引用的是被暴漏的service,之后如果是需要取消暴漏的話需要用到@Adaptive<T> Exporter<T> export(Invoker<T> invoker) throws RpcException;@Adaptive<T> Invoker<T> refer(Class<T> type, URL url) throws RpcException;void destroy(); }

2.1:Protocol$Adaptive

如何獲取該類信息可以參考1.3:exportLocal。

public class Protocol$Adaptive implements com.alibaba.dubbo.rpc.Protocol {public void destroy() {// 因為沒有標(biāo)注@Adaptive注解,所以直接拋出java.lang.UnsupportedOperationExceptionthrow new UnsupportedOperationException("method public abstract void com.alibaba.dubbo.rpc.Protocol.destroy() of interface com.alibaba.dubbo.rpc.Protocol is not adaptive method!");}// 因為沒有標(biāo)注@Adaptive注解,所以直接拋出java.lang.UnsupportedOperationExceptionpublic int getDefaultPort() {throw new UnsupportedOperationException("method public abstract int com.alibaba.dubbo.rpc.Protocol.getDefaultPort() of interface com.alibaba.dubbo.rpc.Protocol is not adaptive method!");}public com.alibaba.dubbo.rpc.Invoker refer(java.lang.Class arg0, com.alibaba.dubbo.common.URL arg1) throws com.alibaba.dubbo.rpc.RpcException {if (arg1 == null) throw new IllegalArgumentException("url == null");com.alibaba.dubbo.common.URL url = arg1;String extName = (url.getProtocol() == null ? "dubbo" : url.getProtocol());if (extName == null)throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.rpc.Protocol) name from url(" + url.toString() + ") use keys([protocol])");com.alibaba.dubbo.rpc.Protocol extension = (com.alibaba.dubbo.rpc.Protocol) ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.rpc.Protocol.class).getExtension(extName);return extension.refer(arg0, arg1);}public com.alibaba.dubbo.rpc.Exporter export(com.alibaba.dubbo.rpc.Invoker arg0) throws com.alibaba.dubbo.rpc.RpcException {if (arg0 == null) throw new IllegalArgumentException("com.alibaba.dubbo.rpc.Invoker argument == null");if (arg0.getUrl() == null)throw new IllegalArgumentException("com.alibaba.dubbo.rpc.Invoker argument getUrl() == null");com.alibaba.dubbo.common.URL url = arg0.getUrl();String extName = (url.getProtocol() == null ? "dubbo" : url.getProtocol());if (extName == null)throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.rpc.Protocol) name from url(" + url.toString() + ") use keys([protocol])");com.alibaba.dubbo.rpc.Protocol extension = (com.alibaba.dubbo.rpc.Protocol) ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.rpc.Protocol.class).getExtension(extName);return extension.export(arg0);} }

2.2:ProtocolListenerWrapper

源碼如下:

class FakeCls {@Overridepublic <T> Exporter<T> export(Invoker<T> invoker) throws RpcException {// 以下遠(yuǎn)端暴漏才會執(zhí)行,這里可以忽略,因為url是injvm://打頭if (Constants.REGISTRY_PROTOCOL.equals(invoker.getUrl().getProtocol())) {return protocol.export(invoker);}// 2022-01-23 19:29:28return new ListenerExporterWrapper<T>(protocol.export(invoker),Collections.unmodifiableList(ExtensionLoader.getExtensionLoader(ExporterListener.class).getActivateExtension(invoker.getUrl(), Constants.EXPORTER_LISTENER_KEY)));} }

2022-01-23 19:29:28處protocol.export(invoker)繼續(xù)調(diào)用裝飾的protocol類,這里調(diào)用的就是ProtocolFilterWrapper,關(guān)于該類參考2.3:ProtocolFilterWrapper。Collections.unmodifiableList(ExtensionLoader.getExtensionLoader(ExporterListener.class).getActivateExtension(invoker.getUrl(), Constants.EXPORTER_LISTENER_KEY))處是使用keyexporter.listener,從url獲取值從而獲取要激活的ExporterListener擴展類。ListenerExporterWrapper構(gòu)造函數(shù)源碼如下:

class FakeCls {public ListenerExporterWrapper(Exporter<T> exporter, List<ExporterListener> listeners) {} }

該監(jiān)聽器的作用是用來監(jiān)聽Exporter暴漏完畢和取消暴漏完畢。

2.3:ProtocolFilterWrapper

主要用于給Invoker增加Filter過濾器鏈,在調(diào)用真正的服務(wù)方法之前會調(diào)用過濾器Filter的邏輯,具體參考2.3.1:export。

2.3.1:export

源碼如下:

class FakeCls {@Overridepublic <T> Exporter<T> export(Invoker<T> invoker) throws RpcException {// 此處要求協(xié)議是registry://,即遠(yuǎn)程暴露,這里是injvm://,所以可以忽略if (Constants.REGISTRY_PROTOCOL.equals(invoker.getUrl().getProtocol())) {return protocol.export(invoker);}// 2022-01-24 16:02:53// 這里的protocol就是InJvmProtocolreturn protocol.export(buildInvokerChain(invoker, Constants.SERVICE_FILTER_KEY, Constants.PROVIDER));}}

2022-01-24 16:02:53處buildInvokerChain添加Filter鏈,具體參考2.3.2:buildInvokerChain。

2.3.2:buildInvokerChain

源碼如下:

class FakeCls {private static <T> Invoker<T> buildInvokerChain(final Invoker<T> invoker, String key, String group) {Invoker<T> last = invoker;// 獲取激活的Filter擴展類集合List<Filter> filters = ExtensionLoader.getExtensionLoader(Filter.class).getActivateExtension(invoker.getUrl(), key, group);if (!filters.isEmpty()) {for (int i = filters.size() - 1; i >= 0; i--) {final Filter filter = filters.get(i);final Invoker<T> next = last;// 將Filter封裝成Invoker,調(diào)用invoke方法時,內(nèi)部鏈?zhǔn)秸{(diào)用下一個Invoker,最后一個Invoker就是目標(biāo)服務(wù)類方法的Invokerlast = new Invoker<T>() {@Overridepublic Class<T> getInterface() {return invoker.getInterface();}@Overridepublic URL getUrl() {return invoker.getUrl();}@Overridepublic boolean isAvailable() {return invoker.isAvailable();}@Overridepublic Result invoke(Invocation invocation) throws RpcException {// 這行代碼比較關(guān)鍵,將next作為參數(shù)調(diào)用Filter類方法,在Filter類方法內(nèi)部我們就可以通過invoker.invoke來繼續(xù)向下調(diào)用了,最終調(diào)用到真正服務(wù)類方法return filter.invoke(next, invocation);}@Overridepublic void destroy() {invoker.destroy();}@Overridepublic String toString() {return invoker.toString();}};}}return last;} }

越靠后的Filter越先執(zhí)行先執(zhí)行,執(zhí)行順序如filter1->filte2->filter3->...->服務(wù)類方法。

2.4:InjvmProtocol

該類是Injvm協(xié)議的實現(xiàn)類,我們還是從入口方法export開始。

2.4.1:export

源碼如下:

class FakeCls {@Overridepublic <T> Exporter<T> export(Invoker<T> invoker) throws RpcException {return new InjvmExporter<T>(invoker, invoker.getUrl().getServiceKey(), exporterMap);} }

主要是創(chuàng)建了InjvmExporter對象。關(guān)于該對象,具體參考3:Exporter。

3:Exporter

該接口用于基于相關(guān)協(xié)議來暴露服務(wù),接口源碼如下:

public interface Exporter<T> {// 獲取內(nèi)部的InvokerInvoker<T> getInvoker();// 取消暴露void unexport(); }

主要類圖如下:

接下來我們從類AbstractExporter開始來看以下。

3.1:AbstractExporter

源碼如下:

public abstract class AbstractExporter<T> implements Exporter<T> {protected final Logger logger = LoggerFactory.getLogger(getClass());// 內(nèi)部的Invokerprivate final Invoker<T> invoker;// 是否沒有暴露的標(biāo)記private volatile boolean unexported = false;public AbstractExporter(Invoker<T> invoker) {if (invoker == null)throw new IllegalStateException("service invoker == null");// 必須是接口if (invoker.getInterface() == null)throw new IllegalStateException("service type == null");// 必須有暴露的URLif (invoker.getUrl() == null)throw new IllegalStateException("service url == null");this.invoker = invoker;}@Overridepublic Invoker<T> getInvoker() {return invoker;}// 取消暴露,其實就是調(diào)用getInvoker().destroy();@Overridepublic void unexport() {if (unexported) {return;}unexported = true;getInvoker().destroy();}@Overridepublic String toString() {return getInvoker().toString();} }

3.2:InjvmExporter

AbstractExporter的子類,源碼如下:

class InjvmExporter<T> extends AbstractExporter<T> {// 服務(wù)鍵,一般是服務(wù)接口的全限定類名稱private final String key;// 已經(jīng)暴露的Exporterprivate final Map<String, Exporter<?>> exporterMap;InjvmExporter(Invoker<T> invoker, String key, Map<String, Exporter<?>> exporterMap) {super(invoker);this.key = key;this.exporterMap = exporterMap;exporterMap.put(key, this);}// 取消暴露@Overridepublic void unexport() {super.unexport();exporterMap.remove(key);} }

3.3 ListenerExporterWrapper

具有監(jiān)聽功能的Exporter的Wrapper類,源碼如下:

public class ListenerExporterWrapper<T> implements Exporter<T> {private static final Logger logger = LoggerFactory.getLogger(ListenerExporterWrapper.class);private final Exporter<T> exporter;// 注冊的暴露監(jiān)聽器private final List<ExporterListener> listeners;public ListenerExporterWrapper(Exporter<T> exporter, List<ExporterListener> listeners) {if (exporter == null) {throw new IllegalArgumentException("exporter == null");}this.exporter = exporter;this.listeners = listeners;// 構(gòu)造函數(shù)執(zhí)行,代表服務(wù)暴露了,執(zhí)行對應(yīng)的監(jiān)聽器的暴露方法exportedif (listeners != null && !listeners.isEmpty()) {RuntimeException exception = null;for (ExporterListener listener : listeners) {if (listener != null) {try {listener.exported(this);} catch (RuntimeException t) {logger.error(t.getMessage(), t);exception = t;}}}if (exception != null) {throw exception;}}}@Overridepublic Invoker<T> getInvoker() {return exporter.getInvoker();}@Overridepublic void unexport() {// 取消暴露,執(zhí)行監(jiān)聽器的unexported方法try {exporter.unexport();} finally {if (listeners != null && !listeners.isEmpty()) {RuntimeException exception = null;for (ExporterListener listener : listeners) {if (listener != null) {try {listener.unexported(this);} catch (RuntimeException t) {logger.error(t.getMessage(), t);exception = t;}}}if (exception != null) {throw exception;}}}} }

ExporterListener參考4:ExporterListener。

4:ExporterListener

源碼如下:

@SPI public interface ExporterListener {// 服務(wù)暴露調(diào)用的方法void exported(Exporter<?> exporter) throws RpcException;// 服務(wù)取消暴露調(diào)用的方法void unexported(Exporter<?> exporter); }

類圖如下:

接下來看下這個唯一的實現(xiàn)類ExporterListenerAdapter,如下:

public abstract class ExporterListenerAdapter implements ExporterListener {@Overridepublic void exported(Exporter<?> exporter) throws RpcException {}@Overridepublic void unexported(Exporter<?> exporter) throws RpcException {}}

也僅僅是個空實現(xiàn),沒有實際的邏輯。

總結(jié)

以上是生活随笔為你收集整理的dubbo之服务本地暴露的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

中文字幕电影高清在线观看 | 久草在线播放视频 | 精品一区精品二区高清 | 欧美激情视频一二区 | 精品国产乱码久久久久久久 | 97香蕉久久超级碰碰高清版 | 国产精品久久久久久久av电影 | 亚洲欧美成人综合 | 最新色站 | av先锋中文字幕 | 国产在线精品观看 | 国产亚洲精品久久久久久大师 | 久久亚洲免费 | 亚洲影视九九影院在线观看 | 中文字幕资源站 | 久久久三级视频 | 在线视频观看国产 | 久久婷婷精品视频 | 中文字幕日韩精品有码视频 | 手机成人av | 99视频这里有精品 | 亚洲日本在线一区 | 日韩中文字幕视频在线 | 91传媒91久久久 | 国产精品情侣视频 | 久久成人综合 | 在线中文字幕观看 | 三级性生活视频 | 成人国产精品 | 91麻豆精品久久久久久 | 夜夜操狠狠干 | 国产xvideos免费视频播放 | 99精品热视频只有精品10 | 天天射天 | 高潮久久久| 免费a网址 | 精品久久久久久久久亚洲 | 久久久一本精品99久久精品66 | 国产成人av综合色 | 久久久久久不卡 | 日日干日日| 一级精品视频在线观看宜春院 | 九九99 | 国产精品成人一区 | 久久久这里有精品 | 亚洲经典中文字幕 | 久久婷婷一区二区三区 | 狠狠网亚洲精品 | a在线播放 | 免费av福利 | 日韩在线免费播放 | 美女视频黄网站 | 在线观看成人小视频 | 天天躁日日躁狠狠躁 | 国产婷婷在线观看 | 在线看一级片 | 久久国产精品一区二区三区四区 | 91成人免费在线视频 | 国产99精品在线观看 | 久久精品艹 | 成年人国产在线观看 | 激情综合站 | 五月亚洲综合 | 国产h在线播放 | 久久精品久久久久 | 好看的国产精品视频 | 91精品在线看| av在线观 | 欧美一区二区在线 | 色婷在线 | 西西www444 | 97爱爱爱 | 91精品国产乱码 | 精品国产乱码久久久久久浪潮 | 99精品视频在线观看 | 日韩在线小视频 | 国产亚洲综合精品 | 国产精品久久久久久久久久99 | 不卡av电影在线 | 国产日本在线观看 | 欧美一级片免费在线观看 | 日韩av高清 | 狠狠网 | 国产成人a亚洲精品 | 日韩欧美综合在线视频 | 国产精品九九久久久久久久 | 欧美精品久久久久a | 国产精品毛片一区二区在线看 | 午夜三级大片 | 成年人国产视频 | 国产二区电影 | 91新人在线观看 | 日韩中文字幕视频在线观看 | 在线观看中文字幕第一页 | 中文字幕的| 国产精品久久久一区二区 | 91亚州 | 日韩四虎| 少妇18xxxx性xxxx片 | 国产第一二区 | 色狠狠综合天天综合综合 | 亚洲 在线 | 亚洲精品国产精品乱码在线观看 | 国产黄色av网站 | 欧美 日韩 久久 | av在线一| 精品伊人久久久 | 亚洲粉嫩av | 国产午夜精品一区 | 一区二区三区在线看 | 成人免费 在线播放 | 国产麻豆传媒 | 黄色www| 在线观看国产91 | 亚洲一区二区精品视频 | 日韩中文在线观看 | 成人在线电影观看 | 日韩在线观看视频中文字幕 | 日韩中文字幕电影 | 日韩欧美一区二区三区在线观看 | 国产淫片免费看 | 欧美最爽乱淫视频播放 | 91久久人澡人人添人人爽欧美 | 888av| 国产视频精品久久 | 日韩在线观看第一页 | 狠狠色伊人亚洲综合网站野外 | 久久久人人人 | 成人在线免费视频观看 | 国产精品久久久久久a | 日韩av免费网站 | 国产精品午夜在线观看 | av电影中文字幕 | 精品在线一区二区 | 九九免费精品 | 婷婷在线不卡 | 麻花豆传媒一二三产区 | 一区二区 久久 | 国产 日韩 欧美 中文 在线播放 | 精品一区二三区 | 成人午夜黄色影院 | 亚洲欧美日韩国产一区二区 | 91精品无人成人www | 国产精品美女久久久久久久久 | 在线午夜电影神马影院 | 久久 在线 | 中文字幕一区二区三区四区久久 | 区一区二区三在线观看 | 日韩免费看 | 丰满少妇在线观看资源站 | 国产精品一区二 | 欧美在线你懂的 | 黄色国产精品 | 成年人免费电影 | 国产中文字幕网 | 久久国产精品视频观看 | 91亚洲精品国偷拍自产在线观看 | 在线观看第一页 | 欧美另类成人 | 国产麻豆精品一区二区 | 日韩免费在线视频观看 | 精品国产一区二区三区在线观看 | 福利av影院 | 久久久久国产精品免费免费搜索 | 日日夜夜免费精品 | 国偷自产视频一区二区久 | 色综合久久五月天 | 中文字幕乱码电影 | 久久影院午夜论 | 欧美精品久久久久久久久久久 | 欧美一级片免费观看 | 美女在线国产 | 99精品国产aⅴ| 91av视频在线观看免费 | 日韩中文字幕在线 | 国产精品麻豆视频 | 精产嫩模国品一二三区 | 操高跟美女 | 91精品推荐 | 久久综合久久综合这里只有精品 | 九九热re | 国产精品片 | 亚洲影视九九影院在线观看 | 狠狠躁夜夜a产精品视频 | 一区电影 | 99久久精品久久久久久动态片 | av电影久久 | www免费视频com━ | 日日插日日干 | 97日日碰人人模人人澡分享吧 | 国产精品成人a免费观看 | 国产精品99久久免费观看 | 色香com.| 日日干天天插 | 在线观看精品一区 | 国产精品视频久久 | 91麻豆视频网站 | 狠狠干天天操 | 日本特黄特色aaa大片免费 | 国产精品欧美久久 | 婷婷六月色 | 久热只有精品 | 久久99深爱久久99精品 | 亚洲欧美精品一区 | 成人影音av| 91精品啪在线观看国产线免费 | 成人免费在线视频观看 | 91午夜精品 | av中文资源在线 | 日本精品视频在线观看 | 欧洲精品二区 | 久久 国产一区 | 国产999精品久久久影片官网 | 成人国产精品入口 | 免费观看一区二区 | 精品一二三区 | 国产综合激情 | 国产免费黄视频在线观看 | 色播五月激情综合网 | 二区中文字幕 | 天天爽天天碰狠狠添 | 国产精品青草综合久久久久99 | 天天干人人| 亚州精品天堂中文字幕 | 成人黄色片在线播放 | 国产精品99精品久久免费 | 精品久久久久久综合日本 | 亚洲一区av | 久久久91精品国产一区二区三区 | 91亚洲精品久久久蜜桃网站 | 免费看v片网站 | 中文字幕一区二区三区久久蜜桃 | 在线观看aaa| 精品中文字幕在线观看 | 欧美 日韩 国产 成人 在线 | 午夜精品av在线 | 欧美精品九九99久久 | 欧美一级黄色视屏 | 在线看中文字幕 | 久草在线视频首页 | 日韩在线视 | 91av视频在线播放 | 四虎8848免费高清在线观看 | 成人国产精品一区 | 日本在线观看黄色 | 国产精品久久久区三区天天噜 | 日韩精品aaa | 成人国产精品久久久久久亚洲 | 一本一道久久a久久精品蜜桃 | 国产亚洲婷婷免费 | 天天爱天天色 | 九九视频热 | 日韩三级在线观看 | 免费在线观看成人 | 99久久999久久久精玫瑰 | 中文字幕二区在线观看 | 99 国产精品 | 天天干,天天干 | 中文字幕亚洲国产 | 国产一级二级三级视频 | 天天干中文字幕 | 色偷偷88欧美精品久久久 | 91精品福利在线 | 91中文字幕永久在线 | 亚洲精品视频免费在线 | 亚洲综合成人婷婷小说 | 欧美一级片免费在线观看 | 天天要夜夜操 | 久久久久久免费视频 | 午夜av在线免费 | 91精品国产三级a在线观看 | 欧美成人在线网站 | 亚洲自拍av在线 | 国产精品色在线 | 干av在线 | 成人一区电影 | 国产91免费在线 | 黄色三级视频片 | 五月天亚洲综合小说网 | 亚洲精品国偷自产在线99热 | 国产一级黄色电影 | 国产精品久久久久久久久岛 | 国产一区不卡在线 | 伊人五月天.com| 一二三精品视频 | 国产亚洲无| 992tv在线观看 | 色www精品视频在线观看 | 亚洲精品字幕在线观看 | 天堂av在线免费观看 | 91精品在线免费视频 | 国产视频资源在线观看 | 91精品久久久久久综合乱菊 | 丁香六月在线 | 五月婷婷开心中文字幕 | 久久经典国产视频 | 在线亚洲观看 | 国产美女久久久 | 96av在线视频| 免费亚洲黄色 | av资源在线看 | 超碰九九 | 欧美日韩国产精品久久 | 欧美日韩精品国产 | 亚洲精品在线视频观看 | 99久久精品免费看国产一区二区三区 | 91久久精品一区二区三区 | 成人精品久久久 | 国产一区高清在线观看 | 日韩久久精品一区二区 | 精品国产一区二区三区四区在线观看 | 99精品乱码国产在线观看 | 狠狠干狠狠艹 | 欧美成人xxx | 极品美女被弄高潮视频网站 | 国产美女网站在线观看 | 国产精品a级 | 97超碰人人澡 | 欧美日韩有码 | 亚洲精品网页 | 在线播放国产精品 | 久久免费视频5 | 久久草视频 | 日日夜夜操av | 又色又爽又黄高潮的免费视频 | www天天操 | www.亚洲精品视频 | 国产高清精品在线 | 亚洲精品视频播放 | 久久精品免费电影 | www亚洲一区| 国产精成人品免费观看 | 国产日韩精品在线观看 | 精品99在线视频 | 久久超| 97电影在线| 国产精品一区二区在线免费观看 | 激情婷婷亚洲 | 97色婷婷人人爽人人 | 日韩欧美高清 | 欧美超碰在线 | 日韩免费二区 | 久久国产精品99久久久久 | 狠色狠色综合久久 | ww亚洲ww亚在线观看 | 超碰大片| 五月婷婷操| 国产精品精品视频 | 国产涩图| 欧美a√大片 | 99在线视频免费观看 | 在线亚洲精品 | 91免费日韩| 国产一区播放 | 国产精品视频app | 久久成 | 99视频网站 | 中文字幕第一页在线 | 成人黄色小说视频 | 6080yy精品一区二区三区 | 西西www444| 午夜国产福利视频 | 久久久久伦理电影 | 免费看黄在线看 | 99精品成人 | 99视频精品全部免费 在线 | 精品中文字幕在线观看 | 免费精品在线视频 | 人人看人人爱 | 日韩a在线观看 | 日韩精品一区二区三区水蜜桃 | 日韩av手机在线观看 | 婷婷射五月 | 97超碰免费 | 国产精品一区二区久久精品 | 久久99亚洲热视 | 国产录像在线观看 | 五月天国产精品 | 久久精品aaa | 中文字幕第一页在线 | 婷婷av网站 | 在线91播放| 91成人黄色 | 色婷婷播放 | 国产日韩精品一区二区三区在线 | 在线久草视频 | 91一区一区三区 | 亚洲人毛片 | 国产成人免费在线观看 | 久草在线视频网站 | 一色屋精品视频在线观看 | 国产二区视频在线 | 色91在线视频 | 91大神精品视频在线观看 | 亚洲最大av网 | 亚洲精品www | 日韩精品中文字幕在线播放 | 毛片激情永久免费 | 欧美少妇bbwhd | 国产精品丝袜久久久久久久不卡 | 婷婷综合五月天 | 亚洲综合精品视频 | 天天天综合网 | 中文字幕国语官网在线视频 | 婷婷五天天在线视频 | 国产另类xxxxhd高清 | 91av在| 91亚洲狠狠婷婷综合久久久 | 伊人官网| 久久99深爱久久99精品 | 国产成人av一区二区三区在线观看 | 天天操伊人| 99热只有精品在线观看 | 日韩免费三级 | 国产最新在线观看 | 成人avav | 午夜精品久久久久久久99无限制 | 久久婷婷丁香 | 一区二区不卡 | 色综合欧洲 | 粉嫩高清一区二区三区 | 欧美性黄网官网 | 精品久久国产 | 91精品久久久久久久99蜜桃 | 国产精品女人网站 | 精品国产免费av | 美女网站在线观看 | 亚洲日韩精品欧美一区二区 | 狠狠色丁香| 国产一级免费片 | 婷婷丁香花五月天 | 日韩午夜一级片 | 国内外成人免费在线视频 | 国产美女主播精品一区二区三区 | 日韩国产精品久久久久久亚洲 | av青草| 黄色一级大片在线免费看国产一 | 免费精品人在线二线三线 | 日韩精品 在线视频 | 国产99久久久国产精品免费二区 | 成年人免费在线观看网站 | 成人电影毛片 | 在线观看国产日韩欧美 | 黄色免费网 | 色综合天天综合 | www.午夜 | 丁香av| 超碰人人国产 | 奇米777777| 99精品久久精品一区二区 | 91大神dom调教在线观看 | 久久婷五月| 久久人人爽爽人人爽人人片av | 国产精品嫩草影院99网站 | 成全在线视频免费观看 | 日韩精品一区二区三区免费观看视频 | 天天干夜夜夜 | 在线观看av网 | 国产乱码精品一区二区三区介绍 | 久久久久久久久久毛片 | 91久久影院 | 免费观看十分钟 | av电影免费| 色综合激情久久 | 好看av在线 | 偷拍精偷拍精品欧洲亚洲网站 | 国产成人精品亚洲日本在线观看 | 国产传媒一区在线 | 国产日韩欧美网站 | 欧美精品中文在线免费观看 | 激情av网址 | 日日夜夜精品免费观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 99久久久免费视频 | 亚洲国产精品免费 | 在线观看中文字幕一区二区 | 天天操天天操天天操天天 | 成片人卡1卡2卡3手机免费看 | 久久精品永久免费 | 丁香综合 | 伊人天堂久久 | 久久久精品国产一区二区电影四季 | 天天爽综合网 | 免费日韩一区二区三区 | av色综合 | 91精品久久久久久粉嫩 | 日本成人免费在线观看 | 久久久国产精品一区二区三区 | 91久久爱热色涩涩 | 久久伊人精品天天 | 精品少妇一区二区三区在线 | 久热电影 | 国产成人在线播放 | 久久久久综合精品福利啪啪 | 欧美日韩精品久久久 | 久久综合九色综合网站 | 91亚洲在线观看 | 日日夜夜网 | 97电影网手机版 | 国产精品激情偷乱一区二区∴ | 中文字幕中文 | 国产福利一区二区三区在线观看 | 国产aa免费视频 | 在线天堂中文在线资源网 | 黄网站www | 麻豆视频在线 | 日韩视频一区二区在线 | 91在线视频免费91 | 日韩有码网站 | 九热精品 | 久久99久久99免费视频 | 91久久偷偷做嫩草影院 | 国产黄在线播放 | 丰满少妇对白在线偷拍 | 91在线免费公开视频 | 国产精品久久久久影院日本 | 婷婷久久网 | 天天操夜夜摸 | 99这里只有精品99 | 九色精品免费永久在线 | 久久人人爽人人爽人人 | 91综合色| 日韩最新av在线 | 69精品 | 韩国av在线 | 日韩免费视频观看 | 91亚洲精品乱码久久久久久蜜桃 | 色综合国产 | 99re8这里有精品热视频免费 | 91资源在线视频 | 亚洲国产一区av | 99精品视频免费全部在线 | 美女视频久久久 | 日韩中文字幕免费在线观看 | 97超级碰碰碰视频在线观看 | 一区二三国产 | 国产午夜免费视频 | 午夜在线国产 | 中文字幕视频观看 | 男女免费av | 91九色精品女同系列 | 狠狠躁天天躁 | 国产黄色播放 | 免费看国产一级片 | 亚洲黄色在线免费观看 | 天天色婷婷 | 久久精品一二三区白丝高潮 | 91网在线| 四虎影视成人永久免费观看亚洲欧美 | 免费观看一级成人毛片 | 亚洲第一区精品 | 精品视频一区在线观看 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 狠狠干综合网 | 超碰国产在线 | 久久精品国产免费看久久精品 | 成人av影院在线观看 | 91免费在线看片 | 97精品国产97久久久久久久久久久久 | 久久精品久久精品久久 | 婷婷丁香激情网 | 国产无吗一区二区三区在线欢 | 欧美日韩中文字幕在线视频 | 久久久久在线观看 | 亚洲精品久久在线 | www.com操| 国产精品久久久久免费观看 | 天天操 夜夜操 | 欧美一二三区在线播放 | 久久影院午夜论 | 狠狠干夜夜爱 | 欧美在线日韩在线 | 日韩欧美精品在线观看 | 亚洲一区二区精品视频 | 日韩中文字幕免费电影 | 国产裸体永久免费视频网站 | 欧美伦理电影一区二区 | 最新av电影网站 | 少妇bbb| av电影不卡在线 | 人人爱人人爽 | 天天干夜夜擦 | 国产精品亚洲精品 | 最近中文字幕mv免费高清在线 | 91精品一区二区三区蜜桃 | 国产资源av| 天堂av影院 | www蜜桃视频| 亚洲成年人在线播放 | 草久视频在线 | 精品亚洲成人 | 亚洲激情久久 | 亚洲激情在线观看 | 超碰人人舔| 99日精品 | 成人av直播| 精品久久久久久久久久久久 | 久久久伊人网 | 在线一区二区三区 | 国产亚洲精品福利 | 久久综合桃花 | 丁香花中文在线免费观看 | 国产日韩精品一区二区在线观看播放 | 国产黄色精品网站 | 中文字幕在线视频第一页 | 亚洲最大在线视频 | 亚欧日韩av| 亚洲艳情| 色在线免费观看 | 日韩视频区 | 中文字幕欧美日韩va免费视频 | 久久综合桃花 | 中文字幕在线观看你懂的 | www.狠狠操| 97在线观看免费高清 | 91av观看| 超碰97在线资源站 | 六月丁香在线视频 | 91九色porny蝌蚪主页 | 亚洲天堂免费视频 | 丁香视频 | 色综合天天天天做夜夜夜夜做 | 丁香激情婷婷 | 一级片视频免费观看 | 国产又黄又猛又粗 | www.国产在线 | 久久99亚洲精品 | 五月婷综合| 欧美精品久久久久久久久免 | 国产免费二区 | av在观看 | 手机版av在线 | 国产福利小视频在线 | 免费在线观看的av网站 | 久久精品中文字幕免费mv | 国产精品99久久免费黑人 | 国产精品久久久久999 | 久久涩涩网站 | 在线91网 | 色.www| 国产一区二区中文字幕 | 亚洲理论在线观看电影 | 久久刺激视频 | 欧美日韩免费在线观看视频 | 99视频偷窥在线精品国自产拍 | 亚洲精品大全 | 一区二区中文字幕在线 | 国内精品久久久久久中文字幕 | 欧美性护士 | 青青河边草免费观看完整版高清 | 爱射综合 | 亚洲黄色免费 | 91久色蝌蚪 | japanesexxxhd奶水| 日韩网站在线免费观看 | 91精品一区二区三区蜜桃 | 三级av免费| 日韩av网页 | 久久成电影 | 亚洲国产97在线精品一区 | 久久神马影院 | 成人啊 v| 啪啪免费观看网站 | 91av手机在线观看 | 色婷婷国产 | 欧洲精品二区 | 97成人在线观看 | 久草男人天堂 | 五月天丁香亚洲 | 最新av网址在线 | 国产精品久久久久婷婷 | 五月激情姐姐 | 久久国产精品影片 | 黄色一级大片在线免费看国产一 | 天堂视频一区 | 欧美视频网址 | 91精品免费在线 | 极品国产91在线网站 | 日本精品在线看 | 亚洲精品www久久久久久 | 精品二区视频 | 欧美国产一区二区 | 精品国产欧美 | 成年人在线观看 | 亚洲欧美视频在线播放 | 国内免费的中文字幕 | 丁香九月激情 | 国产一级黄色av | 欧美特一级片 | 欧美伦理电影一区二区 | 超碰人人舔 | 狠狠色丁香久久婷婷综合五月 | 欧美a级一区二区 | www.五月婷婷| 色网站免费在线看 | 久久精品国产免费看久久精品 | 亚洲精品视频在线观看免费视频 | 日韩国产精品久久 | 中文字幕韩在线第一页 | 91av电影在线 | 国产精品九九久久久久久久 | 欧美午夜精品久久久久 | 国产对白av | 我要看黄色一级片 | 蜜臀久久99精品久久久久久网站 | 日本视频久久久 | 久久 在线| 亚洲做受高潮欧美裸体 | 欧美精品资源 | www99久久| 久久久国产精品一区二区三区 | 欧美成人影音 | 国产精品一区二区久久久 | 免费欧美高清视频 | 国产小视频国产精品 | 2019天天干夜夜操 | 1区2区3区在线观看 三级动图 | 久久视频这里有精品 | 黄色毛片一级 | 中文字幕婷婷 | 超碰com | 蜜臀aⅴ国产精品久久久国产 | 超级碰碰免费视频 | 亚洲精品www. | 国产精品人人做人人爽人人添 | 黄色av一区| av资源免费在线观看 | 国产特级毛片 | 黄a在线观看 | 色综合五月 | 久久国产电影 | 久久99视频 | 一级a性色生活片久久毛片波多野 | 亚洲精品高清在线观看 | 久久国产日韩 | 日本动漫做毛片一区二区 | 久热色超碰 | 在线观看黄色的网站 | 欧美一级性生活视频 | 亚洲综合在线播放 | 国产精品电影在线 | 久久爱综合 | 成年人在线免费看视频 | 欧美国产亚洲精品久久久8v | 国产精品精品国产 | 天天草天天| 久久精品美女 | av在线免费播放 | 久久精品视频一 | 怡红院av久久久久久久 | 色美女在线 | 久久影视中文字幕 | 欧美最猛性xxxx | 久久久久亚洲精品成人网小说 | 黄色资源在线 | 久久99精品国产99久久6尤 | 免费在线观看一级片 | 精品在线免费观看 | 成人中文字幕av | 国产精品你懂的在线观看 | 狠狠躁18三区二区一区ai明星 | 亚洲理论在线观看电影 | 91完整版观看 | 日韩久久午夜一级啪啪 | 亚洲精品国产成人 | 国产韩国日本高清视频 | 日韩美女久久 | 久久精品久久久久久久 | 国产精品免费观看国产网曝瓜 | 香蕉视频啪啪 | 一本一道久久a久久综合蜜桃 | 操操操操网 | 亚洲成年人在线播放 | 91手机视频在线 | 欧美地下肉体性派对 | 日韩在线播放欧美字幕 | 久久艹国产 | 久久黄色精品视频 | 亚洲精品国产精品国 | 日韩精品一区二区三区电影 | 最近中文字幕mv免费高清在线 | 在线欧美最极品的av | 色天天综合久久久久综合片 | 日韩伦理片hd | 激情开心网站 | 国产精品伦一区二区三区视频 | 国产精品四虎 | 午夜男人影院 | 韩国一区二区av | 国产精品3区 | 国产精品久久久久久久久大全 | 在线播放av网址 | 日韩免费一区二区 | 国产精品h在线观看 | 五月天六月婷婷 | 国产无遮挡又黄又爽馒头漫画 | 中文字幕免费观看视频 | 91精品在线免费视频 | 在线电影 一区 | 亚洲精品久久久久久久蜜桃 | 日本中文字幕电影在线免费观看 | 黄色在线观看污 | 久久精品牌麻豆国产大山 | 天堂va在线高清一区 | 久久天天操 | 欧美三级高清 | freejavvideo日本免费 | 在线黄色国产电影 | 天天干天天综合 | 99精品欧美一区二区三区黑人哦 | 人人玩人人添人人澡97 | 粉嫩aⅴ一区二区三区 | 99热国内精品 | 日日干综合 | 天天干天天搞天天射 | 四虎影院在线观看av | 亚洲美女视频在线观看 | 久精品在线观看 | 国产无遮挡又黄又爽在线观看 | 国产在线精品国自产拍影院 | 成人在线免费av | 午夜精品影院 | 一级黄色av | 国产一区福利 | 草久草久 | 在线视频观看亚洲 | 国产成人在线观看 | 色福利网 | 亚洲视频电影在线 | 97电影网手机版 | 欧美精品久久久久a | 91黄色影视 | 日本高清久久久 | 顶级bbw搡bbbb搡bbbb | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 成人va在线观看 | 十八岁以下禁止观看的1000个网站 | 久久一二区 | 国产精品中文字幕在线观看 | 久久久久久久久久久久久久免费看 | 色97在线| 成人免费在线观看电影 | 六月色丁香 | 1024手机看片国产 | 免费在线观看一级片 | 精品一区二区三区香蕉蜜桃 | 在线观看v片 | av线上看| 日韩在线免费视频 | 91九色老| 久久国产精品视频免费看 | 国产精品视频线看 | 国产尤物一区二区三区 | 91av小视频 | 亚洲综合情 | 久久久国产精品久久久 | 天天色综合久久 | 亚洲一区二区天堂 | 欧美xxxxx在线视频 | 国产精品久久在线 | 最新高清无码专区 | 国产精品高清免费在线观看 | 99爱在线| 嫩草91影院 | 欧美地下肉体性派对 | 欧美久久影院 | 胖bbbb搡bbbb擦bbbb | 色99之美女主播在线视频 | 日韩欧美视频二区 | 3d黄动漫免费看 | 国产在线观看二区 | 亚洲一片黄 | 久久精品国产精品亚洲 | 超碰大片 | 色就色,综合激情 | 九九精品无码 | 欧美日韩三级在线观看 | 久久99操 | 久久久毛片 | 国产在线精品福利 | 中文字幕在线免费97 | 久久国产精品久久久久 | 亚洲九九九 | 99久久精品国产毛片 | 玖玖在线精品 | 久久99国产精品 | 97在线视频免费观看 | 97免费公开视频 | 日日日操操 | 亚洲 av网站 | 久久色网站 | 免费成人看片 | www.com久久| 日韩丝袜视频 | 女人久久久久 | 久久美女电影 | 日韩视频www| 午夜精品视频免费在线观看 | 国产婷婷一区二区 | 久久精品99精品国产香蕉 | 日本三级久久久 | 日韩精品免费专区 | 久久久久久高清 | 日韩性色 | 91网免费看 | 免费观看的黄色片 | 亚洲专区 国产精品 | 超级碰碰免费视频 | 天天综合天天做 | 国产一级片一区二区三区 | 久久综合影音 | 国产最顶级的黄色片在线免费观看 | 正在播放国产精品 | 四虎国产精品免费观看视频优播 | 精品uu| 香蕉影视在线观看 | 久香蕉| 欧美在线91| 日韩精品一卡 | 99在线观看免费视频精品观看 | 激情丁香综合五月 | 免费日韩在线 | 日本一区二区高清不卡 | www.在线看片.com | 国产91成人在在线播放 | 国产精品丝袜 | 日p视频| 五月综合色婷婷 | 欧美伦理电影一区二区 | 人九九精品| 成人wwwxxx视频 | 中文字幕之中文字幕 | 国产精品高清av | 国产二区视频在线观看 | 91看片在线观看 | 久久久久亚洲精品国产 | 欧美日韩伦理在线 | 69人人 | 玖草在线观看 | 久久理伦片 | 综合色站导航 | 中文字幕国产视频 | 久久人人爽人人爽人人片 | 久热只有精品 | 天天天干天天射天天天操 | 中国一级片在线 | 亚洲黄色在线 | 91在线看 | 香蕉日日 | 亚洲精选久久 | www.五月婷 | 九色免费视频 | 一区二区视 | 午夜视频欧美 | 国产高h视频 | 日韩精品一区不卡 | 久久久久免费精品国产小说色大师 | 中文字幕人成人 | 欧洲一区二区在线观看 | 亚洲综合在线一区二区三区 | 免费在线视频一区二区 | av电影在线观看完整版一区二区 | 在线视频观看成人 | 欧美日韩三级在线观看 | 国产视频第二页 | 99久e精品热线免费 99国产精品久久久久久久久久 | 国产第页 | 99精品国产一区二区三区麻豆 | 外国av网 | 精品一区二三区 | 九九热视频在线免费观看 | 精品一区二区日韩 | 国产精品av免费观看 | 国产69精品久久99不卡的观看体验 | 亚洲免费高清视频 | 一区二区三区视频在线 | 国产免费人成xvideos视频 | 丁香午夜婷婷 | 国产精品一区二区av | 在线91视频| 91最新网址 | 亚洲国产欧美在线看片xxoo | 在线а√天堂中文官网 | a亚洲视频 | 69av视频在线 | 蜜桃视频日本 | 欧美另类美少妇69xxxx | 激情自拍av | 亚洲九九影院 | 久久视频| 9在线观看免费高清完整版 玖玖爱免费视频 | 人人cao | 精品国产欧美一区二区三区不卡 | 在线观看精品黄av片免费 | 国产精品一区二区视频 | 久久r精品 | 色av男人的天堂免费在线 | 一区二区视频播放 |