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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

简单封装kafka相关的api

發布時間:2025/3/8 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简单封装kafka相关的api 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、針對于kafka版本

<dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>0.8.2.2</version></dependency><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka_2.11</artifactId><version>0.8.2.2</version> </dependency>

二、操作topic、consumer相關方法

import kafka.admin.AdminUtils; import kafka.admin.TopicCommand; import kafka.api.TopicMetadata; import kafka.tools.ConsumerOffsetChecker; import kafka.utils.ZKStringSerializer$; import kafka.utils.ZkUtils; import org.I0Itec.zkclient.ZkClient; import org.apache.commons.exec.CommandLine; import org.apache.commons.exec.DefaultExecutor; import org.apache.commons.exec.ExecuteWatchdog; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.apache.tools.ant.taskdefs.Execute;public static class KafkaUtils {private static Logger LOGGER = LoggerFactory.getLogger(KafkaUtils.class);private static AutoZkClient zkClient;public static AutoZkClient getZkClient() {return zkClient;}public static void setZkClient(AutoZkClient zkClient) {KafkaUtils.zkClient = zkClient;}public static boolean topicExists(String topic) {Assert.notNull(zkClient, "zkclient is null");return AdminUtils.topicExists(zkClient, topic);}public static void topicChangeConfig(String topic, Properties properties) {Assert.notNull(zkClient, "zkclient is null");AdminUtils.changeTopicConfig(zkClient, topic, properties);}public static void topicAlterPartitions(String topic, int partitions) {Assert.notNull(zkClient, "zkclient is null");TopicMetadata topicMetadata = AdminUtils.fetchTopicMetadataFromZk(topic, zkClient);int curPartitions = topicMetadata.partitionsMetadata().size();if (curPartitions == partitions) {return;}if (curPartitions > partitions) {LOGGER.info(String.format("curPartitions=%d,不能修改partitions=%d,請確保大與當前分區數", curPartitions, partitions));return;}String[] args = {"--zookeeper", zkClient.zkServers,"--partitions", String.valueOf(partitions),"--alter","--topic", topic};TopicCommand.TopicCommandOptions alterOpt = new TopicCommand.TopicCommandOptions(args);alterOpt.checkArgs();TopicCommand.alterTopic(zkClient, alterOpt);}public static void topicDescribe(String topic) {Assert.notNull(zkClient, "zkclient is null");String[] args = {"--zookeeper", zkClient.zkServers,"--describe","--topic", topic};TopicCommand.TopicCommandOptions describeOpt = new TopicCommand.TopicCommandOptions(args);describeOpt.checkArgs();TopicCommand.describeTopic(zkClient, describeOpt);}public static void topicOverrideConfig(String topic, Properties properties) {Assert.notNull(zkClient, "zkclient is null");Properties oldProperties = KafkaUtils.topicConfig(topic);oldProperties.putAll(properties);AdminUtils.changeTopicConfig(zkClient, topic, oldProperties);}public static void topicCreate(TopicConfig topicConfig) {Assert.notNull(zkClient, "zkclient is null");int brokerSize = ZkUtils.getSortedBrokerList(zkClient).size();if (topicConfig.getReplicationFactor() > brokerSize) {topicConfig.setReplicationFactor(brokerSize);LOGGER.info(String.format("broker-size=%d < replication-factor=%d, 所以設置replication-factor大小為broker-size大小", brokerSize, topicConfig.getReplicationFactor()));}AdminUtils.createTopic(zkClient, topicConfig.getName(), topicConfig.getPartitions(), topicConfig.getReplicationFactor(), topicConfig.getProperties());}public static void topicDelete(String topic) {Assert.notNull(zkClient, "zkclient is null");AdminUtils.deleteTopic(zkClient, topic);}public static List<String> topicsList() {Assert.notNull(zkClient, "zkclient is null");return seqAsJavaList(ZkUtils.getAllTopics(zkClient));}public static Properties topicConfig(String topic) {Assert.notNull(zkClient, "zkclient is null");return AdminUtils.fetchTopicConfig(zkClient, topic);}public static Map<String, Properties> topicsConfig() {Assert.notNull(zkClient, "zkclient is null");return mapAsJavaMap(AdminUtils.fetchAllTopicConfigs(zkClient));}public static void consumerDetail(String topic, String group){String[] args = {"--zookeeper", zkClient.getZkServers(),"--group", group,"--topic", topic};ConsumerOffsetChecker.main(args);}public static Map<String, List<String>> getConsumersPerTopic(String group) {return mapAsJavaMap(ZkUtils.getConsumersPerTopic(zkClient, group, false)).entrySet().stream().collect(Collectors.toMap(entry -> entry.getKey(), entry -> JavaConversions.seqAsJavaList(entry.getValue()).stream().map(consumerThreadId -> consumerThreadId.consumer()).collect(Collectors.toList())));}public static List<String> getConsumersInGroup(String group){return JavaConversions.seqAsJavaList(ZkUtils.getConsumersInGroup(zkClient, group));}public static String executeCommond(String commond) {LOGGER.info("begin to execute commond: " + commond);File tmpFileDir = Files.createTempDir();String tmpFileName = UUID.randomUUID().toString() + ".txt";String fileSavePath = tmpFileDir.getAbsolutePath() + tmpFileName;CommandLine oCmdLine = CommandLine.parse(commond + " > " + fileSavePath);DefaultExecutor executor = new DefaultExecutor();ExecuteWatchdog watchdog = new ExecuteWatchdog(20000);executor.setWatchdog(watchdog);int[] exitValues = {0, 1};executor.setExitValues(exitValues);try {if (Execute.isFailure(executor.execute(oCmdLine))) {watchdog.killedProcess();LOGGER.error("遠程命令執行失敗... commond=" + commond);} else {try (Stream<String> lines = java.nio.file.Files.lines(new File(fileSavePath).toPath(), Charset.defaultCharset())) {List<String> fileLines = lines.collect(toCollection(LinkedList::new));StringBuilder result = new StringBuilder();fileLines.forEach(line -> result.append(line).append(System.lineSeparator()));return result.toString();} finally {FileUtils.deleteQuietly(tmpFileDir);}}} catch (Exception e) {LOGGER.error("execute command error happened... commond=" + commond, e);}return StringUtils.EMPTY;} }

三、控制層展示

import com.alibaba.fastjson.JSON; import com.cmos.common.annotation.CompatibleOutput; import com.cmos.core.logger.Logger; import com.cmos.core.logger.LoggerFactory; import com.cmos.wmhopenapi.web.config.KafkaMessageConfig; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; import scala.Console;import java.io.ByteArrayOutputStream; import java.io.PrintStream; import java.util.List;import static com.cmos.wmhopenapi.web.config.KafkaMessageConfig.KafkaUtils;/*** @author hujunzheng* @create 2018-07-16 10:20**/ @RestController @RequestMapping("/message/state") @CompatibleOutput public class MessageCenterStateController {private static Logger LOGGER = LoggerFactory.getLogger(MessageCenterStateController.class);@Autowiredprivate KafkaMessageConfig.NoAckConsumer noAckConsumer;@Autowiredprivate KafkaMessageConfig.AckConsumer ackConsumer;/*** 獲取topic描述** @param topic**/@GetMapping("/topic-describe")public String topicDescribe(@RequestParam String topic) {try (ByteArrayOutputStream bos = new ByteArrayOutputStream()) {//scala 輸出流重定向Console.setOut(new PrintStream(bos));KafkaUtils.topicDescribe(topic);String result = bos.toString();LOGGER.info(result);return String.format("%s%s%s", "<pre>", result, "</pre>");} catch (Exception e) {LOGGER.error("獲取topic描述異常", e);}return StringUtils.EMPTY;}/*** 獲取全部topic**/@GetMapping(value = "/topics-all", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)public String topicAll() {String result = JSON.toJSONString(KafkaUtils.topicsList());LOGGER.info(result);return result;}/*** 獲取topic配置** @param topic**/@GetMapping(value = "/topic-config", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)public String topicConfig(@RequestParam String topic) {String result = JSON.toJSONString(KafkaUtils.topicConfig(topic));LOGGER.info(result);return result;}/*** 獲取所有topic的配置**/@GetMapping(value = "/topics-configs", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)public String topicsConfigs() {String result = JSON.toJSONString(KafkaUtils.topicsConfig());LOGGER.info(result);return result;}/*** 展示在某個分組中的consumer** @param group**/@GetMapping(value = "/consumers-in-group", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)public String consumersInGroup(@RequestParam String group) {String result = JSON.toJSONString(KafkaUtils.getConsumersInGroup(group));LOGGER.info(result);return result;}/*** 展示在某個分組中的consumer,按照topic劃分** @param group**/@GetMapping(value = "/consumers-per-topic", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)public String consumersPerTopic(@RequestParam String group) {String result = JSON.toJSONString(KafkaUtils.getConsumersPerTopic(group));LOGGER.info(result);return result;}/*** 展示消費者消費詳情** @param topic* @param group**/@GetMapping("/consumer-detail")public String consumerDetail(@RequestParam String topic, @RequestParam String group) {try (ByteArrayOutputStream bos = new ByteArrayOutputStream()) {//scala 輸出流重定向Console.setOut(new PrintStream(bos));KafkaUtils.consumerDetail(topic, group);String result = bos.toString();LOGGER.info(result);return String.format("%s%s%s", "<pre>", result, "</pre>");} catch (Exception e) {LOGGER.error("獲取消費詳情", e);}return StringUtils.EMPTY;}/*** 消費消息并展示消息** @param topic* @param group* @param size 消費消息數量* @param ack 消費的消息是否需要進行ack操作**/@GetMapping("/consumer-consume")public String consumerConsume(@RequestParam String topic, @RequestParam(required = false, defaultValue = "default") String group, @RequestParam(required = false, defaultValue = "1") int size, @RequestParam(required = false, defaultValue = "false") boolean ack) {List<String> messages;if (ack) {messages = ackConsumer.consume(topic, group, size);} else {messages = noAckConsumer.consume(topic, group, size);}return JSON.toJSONString(messages);}/*** 運行kafka相關命令** @param sshRemote 連接遠程主機命令(ssh user@host)* @param sshCommond kafka相關命令 (kafka-consumer.sh ...)**/@PostMapping("/commond-execute")public String commondExecute(@RequestParam(required = false) String sshRemote, @RequestParam String sshCommond) {String commond = sshCommond + StringUtils.EMPTY;if (StringUtils.isNotBlank(sshRemote)) {commond = String.format("%s \"%s\"", sshRemote, commond);}String result = KafkaUtils.executeCommond(commond);return String.format("%s%s%s", "<pre>", result, "</pre>");} }

四、消費配置

  消費邏輯

package com.mochasoft.latte.data.kafka.consumer;import java.util.Properties; import kafka.consumer.ConsumerConfig; import org.apache.commons.lang3.StringUtils;public class KafkaConsumerConfig {private String zkConnect;private String zkSessionTimeoutMs;private String zkSyncTimeMs;private String autoCommitIntervalMs;private String groupId = "default";static enum OffSet{smallest, largest;private OffSet() {}}private OffSet offset = OffSet.largest;private Properties properties;public KafkaConsumerConfig(){this.properties = new Properties();}public KafkaConsumerConfig(String zkConnect, String zkSessionTimeoutMs, String zkSyncTimeMs, String autoCommitIntervalMs){this.zkConnect = zkConnect;this.zkSessionTimeoutMs = zkSessionTimeoutMs;this.zkSyncTimeMs = zkSyncTimeMs;this.autoCommitIntervalMs = autoCommitIntervalMs;this.properties = new Properties();}public String getZkConnect(){return this.zkConnect;}public void setZkConnect(String zkConnect){this.zkConnect = zkConnect;}public String getZkSessionTimeoutMs(){return this.zkSessionTimeoutMs;}public void setZkSessionTimeoutMs(String zkSessionTimeoutMs){this.zkSessionTimeoutMs = zkSessionTimeoutMs;}public String getZkSyncTimeMs(){return this.zkSyncTimeMs;}public void setZkSyncTimeMs(String zkSyncTimeMs){this.zkSyncTimeMs = zkSyncTimeMs;}public String getAutoCommitIntervalMs(){return this.autoCommitIntervalMs;}public void setAutoCommitIntervalMs(String autoCommitIntervalMs){this.autoCommitIntervalMs = autoCommitIntervalMs;}public String getGroupId(){return this.groupId;}public void setGroupId(String groupId){if (StringUtils.isNotBlank(groupId)) {this.groupId = groupId;}}public OffSet getOffset(){return this.offset;}public void setOffset(OffSet offset){this.offset = offset;}public ConsumerConfig getConsumerConfig(){return new ConsumerConfig(getProperties());}public Properties getProperties(){if (StringUtils.isBlank(this.zkConnect)) {throw new IllegalArgumentException("Blank zkConnect");}if (StringUtils.isNotBlank(this.zkSessionTimeoutMs)) {this.properties.put("zookeeper.session.timeout.ms", this.zkSessionTimeoutMs);}if (StringUtils.isNotBlank(this.zkSyncTimeMs)) {this.properties.put("zookeeper.sync.time.ms", this.zkSyncTimeMs);}if (StringUtils.isNotBlank(this.autoCommitIntervalMs)) {this.properties.put("auto.commit.interval.ms", this.autoCommitIntervalMs);}if (StringUtils.isNotBlank(this.offset.name())) {this.properties.put("auto.offset.reset", this.offset.name());}this.properties.put("group.id", getGroupId());this.properties.put("zookeeper.connect", this.zkConnect);return this.properties;} }
public
static final class NoAckConsumer extends TheConsumer {public NoAckConsumer(KafkaConsumerConfig kafkaConsumerConfig) {super(kafkaConsumerConfig, false);this.consumerConfigProperties.setProperty("auto.commit.enable", "false");} }public static final class AckConsumer extends TheConsumer {public AckConsumer(KafkaConsumerConfig kafkaConsumerConfig) {super(kafkaConsumerConfig, true);this.consumerConfigProperties.setProperty("auto.commit.enable", "true");} }public static class TheConsumer {protected Properties consumerConfigProperties;private boolean ack;private StringDecoder keyDecoder = new StringDecoder(new VerifiableProperties());private StringDecoder valueDecoder = new StringDecoder(new VerifiableProperties());public TheConsumer(KafkaConsumerConfig kafkaConsumerConfig, boolean ack) {this.ack = ack;this.consumerConfigProperties = new Properties();this.consumerConfigProperties.putAll(kafkaConsumerConfig.getProperties());}/*** @param topic 主題* @param group 分組* @param size 消費數量**/public List<String> consume(String topic, String group, int size) {if (StringUtils.isNotBlank(group)) {this.consumerConfigProperties.setProperty("group.id", group);}ConsumerConnector consumerConnector = null;try {consumerConnector = Consumer.createJavaConsumerConnector(new ConsumerConfig(this.consumerConfigProperties));Map<String, Integer> topics = new HashMap<>(1);topics.put(topic, 1);Map<String, List<KafkaStream<String, String>>> streams = consumerConnector.createMessageStreams(topics, keyDecoder, valueDecoder);if (!(CollectionUtils.isEmpty(streams) || CollectionUtils.isEmpty(streams.get(topic)))) {List<String> messages = new ArrayList<>();KafkaStream<String, String> messageStream = streams.get(topic).get(0);for (ConsumerIterator<String, String> it = messageStream.iterator(); it.hasNext(); ) {MessageAndMetadata<String, String> messageAndMetadata = it.next();messages.add(messageAndMetadata.message());if (this.ack) {consumerConnector.commitOffsets();}if (size <= messages.size()) {break;}}return messages;}} catch (Exception e) {LOGGER.error(String.format("%s ack consume has errors. topic=%s, group=%s, size=%d.", this.ack ? "" : "no", topic, group, size), e);} finally {if (consumerConnector != null) {consumerConnector.shutdown();}}return Collections.EMPTY_LIST;} }

  消費測試

public class KafkaTest extends BaseUnitTest {private static Logger LOGGER = LoggerFactory.getLogger(KafkaTest.class);@Value("${kafka.connection.zkconnect}")private String zkConnect;private static final AutoZkClient zkClient = new AutoZkClient("127.0.0.1:2181");private static final String TEST_TOPIC = "message-center-biz-expiration-reminder-topic";private static final String TEST_GROUP = "hjz-group";@Autowiredprivate NoAckConsumer noAckConsumer;@Autowiredprivate AckConsumer ackConsumer;@Autowiredprivate KafkaProducer kafkaProducer;private CountDownLatch finishCountDownLatch = new CountDownLatch(20);@Testpublic void testNoAckConsume() throws InterruptedException {class ConsumeRun implements Callable<List<String>> {private TheConsumer consumer;private CountDownLatch countDownLatch;public ConsumeRun(TheConsumer consumer, CountDownLatch countDownLatch) {this.consumer = consumer;this.countDownLatch = countDownLatch;}@Overridepublic List<String> call() {try {this.countDownLatch.await();} catch (InterruptedException e) {e.printStackTrace();}List<String> messages = consumer.consume(TEST_TOPIC, TEST_GROUP, 8);finishCountDownLatch.countDown();return messages;}}ExecutorService executorService = Executors.newFixedThreadPool(20);CountDownLatch countDownLatch = new CountDownLatch(1);List<Future<List<String>>> noAckConsumeFutures = new ArrayList<>(), ackConsumeFutures = new ArrayList<>();for (int i = 0; i < 10; ++i) {ConsumeRun consumeRun = new ConsumeRun(this.noAckConsumer, countDownLatch);noAckConsumeFutures.add(executorService.submit(consumeRun));}for (int i = 0; i < 10; ++i) {ConsumeRun consumeRun = new ConsumeRun(this.ackConsumer, countDownLatch);ackConsumeFutures.add(executorService.submit(consumeRun));}countDownLatch.countDown();finishCountDownLatch.await();System.out.println("no ack consumers response....");noAckConsumeFutures.forEach(future -> {try {System.out.println(future.get());} catch (Exception e){}});System.out.println("\n\nack consumers response....");ackConsumeFutures.forEach(future -> {try {System.out.println(future.get());} catch (Exception e) {e.printStackTrace();}});}@Testpublic void testProduce() {for (int i = 0; i < 100; ++i) {kafkaProducer.send(TEST_TOPIC, String.valueOf(i), "message " + i);}KafkaUtils.consumerDetail(TEST_TOPIC, TEST_GROUP);}public static void createTopic() {MessageCenterConstants.TopicConfig topicConfig = new MessageCenterConstants.TopicConfig();topicConfig.setName("kafka-test");KafkaMessageConfig.KafkaUtils.topicCreate(topicConfig);}public static void testKafka() {createTopic();System.out.println(KafkaUtils.topicsList());Properties properties = new Properties();properties.put("min.cleanable.dirty.ratio", "0.3");KafkaMessageConfig.KafkaUtils.topicChangeConfig(TEST_TOPIC, properties);System.out.println(KafkaMessageConfig.KafkaUtils.topicConfig(TEST_TOPIC));KafkaUtils.topicAlterPartitions(TEST_TOPIC, 7);KafkaMessageConfig.KafkaUtils.topicDescribe(TEST_TOPIC);kafka.utils.ZkUtils.getSortedBrokerList(zkClient);}public static void testTopicDescribe() {KafkaUtils.setZkClient(zkClient);new MessageCenterStateController().topicDescribe("message-center-recharge-transaction-push-topic");}public static void testConsumerDescribe() {KafkaUtils.setZkClient(zkClient);String[] args = {"--zookeeper", zkClient.getZkServers(),"--group", "","--topic", "message-center-recharge-transaction-push-topic"};ConsumerOffsetChecker.main(args);}public static void testConsumerList() {KafkaUtils.setZkClient(zkClient);String[] args = {"--broker-list", zkClient.getZkServers(),"--topic", "message-center-recharge-transaction-push-topic","--list"};SimpleConsumerShell.main(args);}public static void main(String[] args) {testConsumerList();} }

  測試no ack 以及 ack的消費結果

no ack consumers response.... [message 8, message 14, message 23, message 32, message 41, message 50, message 8, message 14] [message 14, message 23, message 32, message 41, message 50, message 12, message 21, message 30] [message 17, message 26, message 35, message 44, message 53, message 62, message 71, message 80] [message 19, message 28, message 37, message 46, message 55, message 64, message 73, message 82] [message 89, message 98, message 89, message 98, message 19, message 28, message 37, message 46] [message 0, message 39, message 48, message 57, message 66, message 75, message 84, message 93] [message 1, message 49, message 58, message 67, message 76, message 85, message 94, message 77] [message 8, message 14, message 23, message 32, message 41, message 50, message 89, message 98] [message 17, message 26, message 35, message 44, message 53, message 62, message 71, message 80] [message 2, message 59, message 68, message 77, message 86, message 95, message 0, message 39]ack consumers response.... [message 7, message 13, message 22, message 31, message 40, message 5, message 11, message 20] [message 17, message 26, message 35, message 44, message 53, message 62, message 71, message 80] [message 77, message 86, message 95, message 67, message 76, message 85, message 94, message 0] [message 9, message 15, message 24, message 33, message 42, message 51, message 60, message 6] [message 4, message 10, message 79, message 88, message 97, message 2, message 59, message 68] [message 29, message 38, message 47, message 56, message 65, message 74, message 83, message 92] [message 16, message 25, message 34, message 43, message 52, message 61, message 70, message 8] [message 18, message 27, message 36, message 45, message 54, message 63, message 72, message 81] [message 3, message 69, message 78, message 87, message 96, message 1, message 49, message 58] [message 14, message 23, message 32, message 41, message 50, message 89, message 98, message 12]

  消費測試結果分析:no ack的consumer可以實現消息的窺探。

?

五、效果圖

  獲取topic詳情

  

  獲取所有的topic信息

  

?  獲取消費詳情

? 

?  窺探消息

  

?

轉載于:https://www.cnblogs.com/hujunzheng/p/9327927.html

總結

以上是生活随笔為你收集整理的简单封装kafka相关的api的全部內容,希望文章能夠幫你解決所遇到的問題。

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

亚洲激情小视频 | 欧美一级久久 | 五月天精品视频 | 99视频精品 | 天天操天天综合网 | 欧美黄色高清 | www.天天干.com | 91大神免费在线观看 | 五月花丁香婷婷 | 美女视频一区二区 | 黄色免费视频在线观看 | 在线观看精品黄av片免费 | 久久开心激情 | 亚洲视频电影在线 | 99热这里是精品 | 一区二区视频在线播放 | 国产视频在线观看一区 | 黄色毛片一级片 | 免费视频在线观看网站 | 91人人视频在线观看 | 99视频在线精品国自产拍免费观看 | 日韩电影久久久 | 特及黄色片 | 青青河边草免费直播 | 成年人免费在线播放 | 碰碰影院| 亚洲欧洲一级 | 亚洲精品一区二区三区四区高清 | 成人一级免费电影 | 久久久久久久99精品免费观看 | www.夜夜干.com | 日韩av视屏 | 久草www| 中文字幕91| 奇米777777 | 天天玩天天干 | 免费视频 你懂的 | 国产精品久久久久久久久婷婷 | 色婷婷综合久久久中文字幕 | 日韩中文字幕亚洲一区二区va在线 | 激情婷婷丁香 | 久99久在线 | 国产三级av在线 | 在线观看亚洲精品视频 | 97精品国产一二三产区 | 国产成人在线综合 | 久久国产精品99久久久久久老狼 | 亚洲 精品在线视频 | 久久激五月天综合精品 | 欧美日韩在线网站 | 亚洲综合在线播放 | 最近中文字幕完整高清 | 天天做天天爱天天爽综合网 | 日韩精品一区二区三区不卡 | 麻花豆传媒mv在线观看 | 天天天综合 | 在线观看一区二区精品 | 黄色毛片一级片 | 国产一级在线 | 成人网中文字幕 | 午夜国产一区 | 成人毛片一区 | 久久精品国产免费观看 | 91久久久久久国产精品 | 成人精品国产免费网站 | 日韩av进入 | 国产精品一区二区免费 | 亚洲一区二区视频在线播放 | 夜夜摸夜夜爽 | 嫩嫩影院理论片 | 亚洲精品国精品久久99热 | 在线免费观看国产 | 午夜免费福利视频 | 激情综合亚洲精品 | 欧美日韩不卡一区二区三区 | 国产成人免费在线观看 | 精品超碰 | 亚洲国产精品久久久 | 91麻豆国产福利在线观看 | 国产精品1区2区3区在线观看 | 天天操天天吃 | 日韩激情视频 | av在线不卡观看 | 亚洲a免费| 久久久综合电影 | 深夜国产福利 | 色婷婷免费 | 成人小视频在线 | 国产精品久久久久久久久久久免费看 | 亚洲成人精品在线 | 免费黄色av片 | 久久精品国产免费观看 | av东方在线 | 欧美激情奇米色 | 在线观看韩日电影免费 | 久久国产精品小视频 | 国内精品久久久久久久久久久 | 免费十分钟| 99免费看片| 黄色国产高清 | 五月天综合婷婷 | 久久久久亚洲精品国产 | 欧洲视频一区 | 国产一级视频在线 | 高清久久久久久 | 成人一级片在线观看 | 一级大片在线观看 | 成人a级黄色片 | 久久免费视频3 | 四虎影视成人精品 | 狠狠狠色狠狠色综合 | 国产精品高潮呻吟久久久久 | 国产精品成人免费精品自在线观看 | 日韩在线视频观看 | 国产小视频你懂的 | 一区免费在线 | 国产高清不卡在线 | 日韩午夜网站 | 国产成人精品在线播放 | 香蕉视频免费在线播放 | 深夜国产在线 | 99视频黄 | 最新日本中文字幕 | 久久久久久久久久久精 | 国产亚洲成人网 | 六月色婷 | 在线国产日韩 | 日韩精品一区二 | 米奇四色影视 | av大片免费看 | 亚洲国产成人久久 | 91亚洲精 | 夜夜嗨av色一区二区不卡 | 久久人人艹 | 久久久亚洲影院 | zzijzzij亚洲成熟少妇 | 999在线视频 | 人人搞人人搞 | 国产剧情av在线播放 | 国产一级视频在线免费观看 | 精品黄色在线观看 | 成人av手机在线 | 香蕉影院在线观看 | 久草在线免费电影 | 久草在线观看视频免费 | 欧洲色吧 | 国产精品69av | 久久精品在线视频 | 中文字幕中文字幕在线中文字幕三区 | 国产一区二区三区黄 | 激情综合亚洲 | 国产专区精品 | av导航福利 | 波多野结依在线观看 | jizz欧美性9 国产一区高清在线观看 | 久久久久免费精品国产小说色大师 | 9999精品 | 91手机视频在线 | 亚洲电影在线看 | 久久激情日本aⅴ | 中文字幕在线观看完整版电影 | 91精品第一页 | 成人av免费在线看 | www.香蕉视频 | 黄色小视频在线观看免费 | 福利视频网址 | 国产 日韩 欧美 中文 在线播放 | 中文字幕av在线电影 | 色偷偷网站视频 | caobi视频 | 久久黄色免费 | 久久国产剧场电影 | 日本久久久久久久久 | 在线看片一区 | 黄色网址a| 黄色软件在线观看 | av中文资源在线 | 天天操天操 | 在线看片a| mm1313亚洲精品国产 | 91亚洲永久精品 | 丁香五婷| 97超碰人人看 | 国偷自产视频一区二区久 | 777视频在线观看 | 国产无套精品久久久久久 | 999视频在线播放 | 国产高清福利在线 | 日韩精品中文字幕在线不卡尤物 | 久草在线| 国产精品不卡av | 美女黄频免费 | 夜夜躁狠狠躁日日躁 | 免费一级日韩欧美性大片 | 日韩欧美精品一区 | 久草综合视频 | 狠狠干天天操 | 国产精品欧美 | 国产欧美综合视频 | 欧美色888| 综合久久精品 | 在线中文字幕观看 | 国产99色| 亚洲精品国产高清 | 人人爱人人射 | 久久综合导航 | 奇米网在线观看 | 久久精品一区二区三区中文字幕 | 欧美一区二区精美视频 | 激情五月婷婷综合网 | 中文字幕在线看视频 | 99精品一级欧美片免费播放 | 久久精品国产一区二区电影 | 免费一级特黄录像 | 怡红院av久久久久久久 | 1000部国产精品成人观看 | 波多野结衣在线视频一区 | 色狠狠狠| 婷婷黄色片| 91九色蝌蚪国产 | 91传媒在线观看 | 视频二区在线 | 国产精品一区二区av影院萌芽 | 天堂av观看| 国产精品专区在线观看 | 欧美一进一出抽搐大尺度视频 | 日韩91av| 日韩最新中文字幕 | 丰满少妇在线观看网站 | 亚洲日本精品 | 国产亚洲在线观看 | 久久精品一区二区三区四区 | 欧美了一区在线观看 | 色视频在线免费观看 | 精品一区二区免费 | 日韩影片在线观看 | 少妇啪啪av入口 | 中文字幕亚洲国产 | 国产在线a免费观看 | 久久伦理视频 | 99999精品视频 | 激情网站五月天 | 日韩av网站在线播放 | 国产精品热 | 精品一区二区精品 | 黄色免费看片网站 | 国产日韩av在线 | 丁香视频在线观看 | 一区二区中文字幕在线播放 | 国产成人一区二区三区免费看 | 免费福利视频网站 | 国产专区视频在线观看 | 国产高清在线免费 | 99视频免费观看 | 国产小视频你懂的在线 | 日韩精品三区四区 | 欧美 国产 视频 | 九七在线视频 | 九九99视频 | 国产精品99爱 | 国产精品一区二区三区99 | 日韩久久精品一区二区三区 | 久久午夜精品影院一区 | 国产精品美女免费 | 在线观看播放av | 日韩有码第一页 | 91麻豆视频网站 | 8090yy亚洲精品久久 | 成 人 黄 色 片 在线播放 | 国产精品激情在线观看 | 一级黄色大片在线观看 | 91c网站色版视频 | 天天干天天怕 | 久久激情视频免费观看 | 中文字幕日韩在线播放 | 欧美日韩一区二区在线观看 | 亚洲成a人片77777潘金莲 | 黄污视频网站大全 | 国产精品久久久久久久久久ktv | 99热只有精品在线观看 | 五月天亚洲综合 | 青草视频在线免费 | 激情欧美日韩一区二区 | 免费高清在线视频一区· | 区一区二区三区中文字幕 | 911久久| 人人澡人摸人人添学生av | 91视频观看免费 | 黄色av电影在线观看 | 中文字幕亚洲综合久久五月天色无吗'' | 亚洲婷婷在线视频 | 亚洲视频精品在线 | 97在线视频观看 | 国产精品18videosex性欧美 | 国产高清日韩欧美 | 五月天高清欧美mv | 91成人免费在线视频 | 久久艹久久 | 操综合| 国产精品久久久视频 | 黄色三级网站在线观看 | av在线电影播放 | 日韩在线免费小视频 | 久久久精品 一区二区三区 国产99视频在线观看 | 久久久影视 | 欧美欧美 | 国产精品免费麻豆入口 | 狠狠干夜夜操 | av大全在线看 | 国产免费小视频 | 在线观看黄色小视频 | 久久国精品| 精品在线观看一区二区 | 久久在线免费观看 | 免费十分钟 | 91av社区 | 岛国精品一区二区 | 久久九九久久九九 | 怡红院av久久久久久久 | 国产原创在线 | 91热| 国产亚洲精品久久久久久久久久久久 | 成人久久网| 日本xxxx.com| 字幕网资源站中文字幕 | 成年人黄色免费看 | 日精品| avhd高清在线谜片 | 亚洲日本三级 | 九色精品免费永久在线 | 天堂在线v | 精品一区中文字幕 | 一级淫片在线观看 | www日韩欧美 | 黄色毛片视频免费观看中文 | 18岁免费看片 | 国产精品精品国产婷婷这里av | 免费视频18 | 亚洲黄在线观看 | 久精品视频在线观看 | 日韩一区二区三区观看 | 一区二区毛片 | 在线欧美小视频 | 亚洲成人黄| 国产第一页福利影院 | 久久精品草 | www.eeuss影院av撸| 国产一区二区在线免费观看 | 精品国产伦一区二区三区 | 九九天堂 | 91色吧| 久久少妇免费视频 | 天天色婷婷 | 日本性高潮视频 | 91pony九色丨交换 | 99爱国产精品 | 日本护士三级少妇三级999 | 成人在线免费小视频 | 国产成人精品久 | 毛片基地黄久久久久久天堂 | 日韩视频在线一区 | 91在线视频网址 | 96国产在线 | 成人国产精品久久久春色 | 射射色 | 蜜臀av性久久久久av蜜臀妖精 | 国产成人免费高清 | 日韩精品一区二区三区在线视频 | 久久蜜臀av | 欧美在线不卡一区 | 欧美另类高潮 | 中文字幕在线观看免费观看 | 国产一区二区高清 | 国产成人免费高清 | 日韩av不卡在线观看 | 国产免费黄视频在线观看 | 成人黄在线观看 | 五月综合色婷婷 | 国产免费视频一区二区裸体 | 99久久精品无码一区二区毛片 | 日日操夜| 国产一区二三区好的 | 国产激情免费 | 国产 欧美 日产久久 | 天天色棕合合合合合合 | 日韩中文字幕一区 | 五月婷婷影院 | 日韩毛片在线免费观看 | 中文字幕网站视频在线 | 国产日韩欧美自拍 | 天堂va在线观看 | 国产精品美女999 | 亚洲免费av在线 | 精品国产一区二区三区在线 | 青青河边草免费视频 | 日韩精品一区二区三区免费观看 | 欧美综合久久 | 天堂av在线| 天天综合91 | 亚洲欧美激情插 | 亚洲精品资源在线观看 | 国产午夜av| 九九久久久久久久久激情 | 国产免费观看av | 欧美亚洲一级片 | 日韩成人精品一区二区三区 | 国产亚洲视频系列 | 91精品1区2区 | 欧美日韩一区二区三区在线免费观看 | 久久久久久久久久久网站 | 欧美日韩国产色综合一二三四 | 日韩在线观看你懂的 | 狠狠狠色狠狠色综合 | 久久99久久99精品 | 国模精品一区二区三区 | 婷婷综合在线 | 奇米影视四色8888 | 色资源网在线观看 | 天天色 天天 | 色播五月婷婷 | 欧美精品在线视频 | 天天操,夜夜操 | 日韩黄在线观看 | 久久激情婷婷 | 精品国产_亚洲人成在线 | 看片黄网站 | 九九久久精品 | 欧美日韩成人 | 青青草国产免费 | 日韩性色| 69亚洲精品 | 国产精品亚洲a | 在线观看aaa| 久久综合偷偷噜噜噜色 | 国产精品第2页 | 国产91精品高清一区二区三区 | 精品国产免费人成在线观看 | 天天视频色| 久久五月激情 | 日本中文字幕电影在线免费观看 | 一区二区三区 中文字幕 | 99免费国产| 永久av免费在线观看 | 欧美日韩a视频 | 91精品国自产在线偷拍蜜桃 | 国产真实在线 | 国产精品国产亚洲精品看不卡15 | 欧美 亚洲 另类 激情 另类 | 91夫妻自拍 | 黄网站免费看 | 久久av观看 | 国产精品99久久久久 | 麻豆精品传媒视频 | 久久久综合精品 | 亚洲一级电影视频 | 99久久精品国产一区二区三区 | 操操操av | 在线免费观看视频你懂的 | 一区二区在线影院 | 福利视频区 | 国产成人精品一区二区三区网站观看 | 区一区二区三区中文字幕 | 亚洲一级免费电影 | 亚洲人av免费网站 | av综合站 | 亚洲人在线视频 | 夜添久久精品亚洲国产精品 | 91精品少妇偷拍99 | 成人av免费看 | 最近中文字幕完整高清 | 99久久99久久精品国产片 | 欧美一级特黄高清视频 | 日本在线成人 | 激情图片qvod | 国产黄色成人 | 69av在线播放| 在线观看mv的中文字幕网站 | 久草| 深夜福利视频一区二区 | 亚洲精品男人的天堂 | 国产第一页在线观看 | 99视频导航 | 中文一区在线观看 | 97成人资源 | 91精品啪在线观看国产线免费 | 日日夜夜天天操 | 超碰97人人干 | 久久综合久久久 | www.久久久.com | 国产精品手机播放 | 黄污视频大全 | 99久久99久国产黄毛片 | 国产污视频在线观看 | 日本韩国在线不卡 | 日韩黄视频 | 久久图| 亚洲丝袜一区 | 国产精品成人免费精品自在线观看 | 2021国产精品 | 日韩91av | 国产另类av | 亚洲成人精品在线 | 成人小视频免费在线观看 | 99麻豆视频 | 免费看v片网站 | av电影免费在线看 | 超碰在线人 | 国产黄网站在线观看 | 日韩av免费观看网站 | 99se视频在线观看 | 日日夜夜狠狠 | 亚洲日本va午夜在线影院 | 国产亚洲91| 毛片网站在线 | 很黄很污的视频网站 | 黄色国产高清 | 国产欧美精品一区二区三区 | 久久久高清免费视频 | 久久男人影院 | 欧美va在线观看 | 久久夜夜爽 | 国产精品手机看片 | 国模视频一区二区三区 | 九九色视频 | 久久9999久久| 69国产精品成人在线播放 | 中文字幕亚洲综合久久五月天色无吗'' | 国产亚洲精品成人av久久ww | 黄色视屏在线免费观看 | 在线免费看黄网站 | 亚洲精品日韩一区二区电影 | 麻豆 91 在线 | 国产成人av一区二区三区在线观看 | 欧美视频xxx | 日韩电影一区二区三区在线观看 | 国产又粗又猛又爽又黄的视频免费 | 一区二区三区国产欧美 | 亚洲精品国产日韩 | 97av影院| 久久福利影视 | 中文字幕一区二区三区四区在线视频 | 欧美黑人性爽 | 夜夜视频 | 国产精品久久久久aaaa | 欧美动漫一区二区三区 | 九9热这里真品2 | 二区三区精品 | 日韩精品一区二区三区在线播放 | 在线观看精品一区 | 精品久久久久久一区二区里番 | 青青草久草在线 | 色婷婷综合久久久 | 日韩三级不卡 | 欧美日韩在线观看不卡 | 国产精国产精品 | 久草资源免费 | 国产午夜免费视频 | 国产成人一区二区在线观看 | 在线 影视 一区 | 国产精品久久久久久一区二区三区 | 日日操日日操 | 国产精品资源网 | 日韩精品一区二区在线 | 亚洲精品日韩在线观看 | 精品国产视频在线 | 国产一区免费在线观看 | 欧美精品久久99 | 国产精品美女久久 | 国产aaa免费视频 | 国产成人a v电影 | 日韩精品一区二区三区第95 | 亚洲伦理中文字幕 | 亚洲精品久久久蜜桃直播 | 久久精品视频在线观看 | 日韩女同一区二区三区在线观看 | 综合激情久久 | 天天色天天干天天 | 精品国产自在精品国产精野外直播 | 国产精品剧情在线亚洲 | 久久九九国产精品 | 五月天天天操 | 日韩一级网站 | 久久电影国产免费久久电影 | 日韩一区二区三区高清在线观看 | 国产一级特黄毛片在线毛片 | 国产精品原创av片国产免费 | 免费毛片aaaaaa | 西西4444www大胆视频 | 国产免费黄色 | 日韩亚洲在线视频 | 国产精品一区在线 | 国产精品99爱 | 日日爽天天操 | 麻豆影视在线免费观看 | 国产专区在线视频 | 久久久久在线观看 | 久久久久国产精品午夜一区 | 亚洲精品视频免费 | 欧美精品亚洲精品 | 高清av中文在线字幕观看1 | 日日干日日 | 日本特黄特色aaa大片免费 | 久久99久久99精品免费看小说 | 99产精品成人啪免费网站 | 欧美少妇xxxxxx | 欧美成人aa | 91成人免费在线视频 | 丁香六月天 | 蜜臀av.com | www在线观看国产 | 视频一区在线免费观看 | 午夜影院在线观看18 | 麻豆视频在线观看免费 | 伊人五月在线 | 成人免费观看网站 | 天天射射天天 | 深爱开心激情 | 亚洲九九九在线观看 | 国产中文字幕视频在线观看 | 日韩在线视频一区二区三区 | 日韩免费在线观看视频 | 四虎欧美 | 久久黄色小说视频 | 在线免费黄色av | 欧美人人爱| 久久久久亚洲天堂 | 在线国产一区二区 | 最近免费中文字幕 | 亚洲视频一区二区三区在线观看 | 精品国产伦一区二区三区观看方式 | 国产精品一区二区久久久 | 欧美一级久久久久 | 国产欧美中文字幕 | 免费中午字幕无吗 | 日日夜夜天天操 | 丁香激情婷婷 | 精品国产99 | 亚洲欧洲精品一区二区 | 亚洲国产人午在线一二区 | 在线观看国产一区 | 国产福利小视频在线 | 亚洲一区久久久 | 免费日韩一区二区三区 | 超碰在线个人 | 国产日韩欧美在线播放 | 午夜精品一区二区三区四区 | 亚洲精品国产片 | av网站在线观看播放 | 国产精品免费不卡 | 亚洲视频久久久久 | 亚洲国产精品传媒在线观看 | av经典在线| 精品国产亚洲在线 | av综合 日韩| 亚洲精品乱码久久久久久蜜桃欧美 | 91亚洲精品视频 | 亚洲第一区在线播放 | 91福利在线导航 | 免费观看www小视频的软件 | 天天av资源 | 午夜 在线| 日韩中文字 | 免费电影一区二区三区 | 日韩啪啪小视频 | 日韩av中文 | 亚洲伦理中文字幕 | 免费在线国产精品 | 中文字幕一区二区三区精华液 | 日本超碰在线 | 超碰免费在线公开 | 香蕉视频在线观看免费 | 日韩欧美大片免费观看 | 综合色亚洲 | av中文字幕免费在线观看 | 美女视频a美女大全免费下载蜜臀 | 日本精品久久久久 | 最新极品jizzhd欧美 | 欧美一性一交一乱 | 欧美一区中文字幕 | 国产一区二区在线免费观看 | 久久人人精品 | 免费在线一区二区 | 久久丁香| 国产视频色 | 日韩精品免费 | 中文在线| 2021av在线| 欧美在线视频二区 | 91黄色视屏| 天天干夜夜干 | 亚洲国产精彩中文乱码av | 久草视频中文 | 欧美91精品久久久久国产性生爱 | 91片网 | 黄色a级片在线观看 | 色婷婷综合久色 | 在线电影播放 | 天天操夜操 | 欧美另类v | 人人舔人人射 | 99久久99视频| 国产精品白浆 | 极品久久久 | 欧美激情综合五月色丁香小说 | 韩国精品在线观看 | 亚洲日韩中文字幕 | 香蕉精品在线观看 | 国产99免费| 中文字幕丝袜制服 | 97超碰免费在线观看 | 探花系列在线 | www免费 | 成人黄大片 | 亚洲人毛片 | 一区二区三区国产精品 | 99在线视频观看 | 国产精品国产自产拍高清av | 天天操狠狠操夜夜操 | 日韩最新在线 | 夜夜骑首页 | 欧美一级性生活 | 中文字幕在线观看av | 久久国产亚洲 | 成人午夜片av在线看 | 日韩免费观看一区二区 | 国产精品电影一区二区 | 国产高清视频在线 | 丁香婷婷激情国产高清秒播 | 国产大片黄色 | 成人一级免费电影 | 91av在线不卡| 中文字幕在线视频一区 | 久久久999| 天天综合网久久 | 久久99精品国产麻豆婷婷 | 亚洲综合少妇 | 免费a视频在线 | 久久精品小视频 | 高清不卡一区二区三区 | 91久久人澡人人添人人爽欧美 | 国产一区二区精品 | 欧美色综合久久 | 97在线公开视频 | 精品女同一区二区三区在线观看 | 亚洲人人爱 | 成人一级电影在线观看 | 日韩高清国产精品 | 97香蕉视频| 99热精品久久 | 国产在线播放不卡 | 色激情五月 | 免费看色的网站 | 日韩精品中文字幕有码 | 精品一区 在线 | 亚洲 欧美 国产 va在线影院 | 亚洲午夜久久久久久久久电影网 | 久久久久久99精品 | 欧美久久久一区二区三区 | 成人片在线播放 | 中文乱幕日产无线码1区 | 国产精品一区二区久久精品 | 欧美最爽乱淫视频播放 | 国产在线播放一区二区三区 | 免费在线观看国产黄 | 成人欧美一区二区三区黑人麻豆 | 久久精品日本啪啪涩涩 | 天天综合色天天综合 | 亚洲在线视频观看 | 天天射天天拍 | 久久成人国产精品一区二区 | 成年人黄色免费网站 | 最新成人av | 国产又粗又猛又爽又黄的视频先 | 香蕉网在线观看 | 亚洲视频综合在线 | 91在线在线观看 | 免费网站在线观看成人 | 在线免费看黄网站 | 香蕉视频网址 | 国产97碰免费视频 | 丁香激情综合 | 久久ww| 国产精品久久久一区二区 | 免费精品国产va自在自线 | 精品一区在线 | 精品福利视频在线 | 国产伦理久久 | 国产成人av电影在线 | 免费观看的黄色 | 999成人 | 国产精品自拍av | 国产在线不卡 | 狠狠干婷婷| 在线观看激情av | 成人中文字幕av | 成av在线 | 在线观看91av| 日韩一区二区免费播放 | 中文字幕在线免费看 | 五月亚洲 | 精品福利片 | av高清一区 | 人人擦 | 亚洲精品国产成人 | 在线激情电影 | 久久免费黄色 | av综合av | 中文字幕一区二区三区四区视频 | 五月开心婷婷网 | 国内久久视频 | 中文字幕在线免费播放 | 操综合 | 91手机电视 | 西西4444www大胆无视频 | 在线免费观看国产 | 国产成人av | 亚洲精品影视在线观看 | 精品视频免费久久久看 | 国产精品不卡在线观看 | 在线免费黄网站 | 日韩电影在线观看中文字幕 | 91精品国产92久久久久 | 欧美激情综合五月色丁香 | 四季av综合网站 | 人人爽人人舔 | 久久精品日产第一区二区三区乱码 | 探花视频在线观看免费版 | 国产99久久精品 | 日日成人网 | 在线视频1卡二卡三卡 | 久久精品99国产精品酒店日本 | 久久99日韩 | 中文字幕在线观看亚洲 | 国产日韩高清在线 | 人人澡人人添人人爽一区二区 | 一本一本久久a久久 | 欧美在线视频第一页 | 久久综合视频网 | 久久乐九色婷婷综合色狠狠182 | 精品亚洲一区二区三区 | 国产在线精品视频 | 狠狠干激情 | 人人狠狠综合久久亚洲婷 | 成片人卡1卡2卡3手机免费看 | 国产精品电影一区 | 国产高清99| 国产资源中文字幕 | 久久久久久久久久久久亚洲 | 亚洲区另类春色综合小说 | 91在线播放国产 | 久久久人| 九九热99视频 | 中文字幕在线免费观看视频 | 亚洲一级二级三级 | 国产一区在线精品 | 亚洲日本在线视频观看 | 天天操天天操天天操天天操天天操 | 黄色av成人在线 | 国产精品成人一区二区 | 麻豆传媒视频在线播放 | 日日日操| 国产成人一区三区 | 一区二区激情视频 | 国产黄色一级片 | 亚州国产精品久久久 | 91福利区一区二区三区 | 国产在线一区二区三区播放 | 九九热有精品 | 狠狠gao| 欧美一区二区在线 | 国产精品视频久久 | 国产黄影院色大全免费 | 婷婷五月色综合 | 九九热1 | 久久久精品在线观看 | 91成人网页版| 在线观看岛国 | 超碰人人在线观看 | 午夜12点 | 婷婷去俺也去六月色 | 久久毛片高清国产 | 亚洲一区二区麻豆 | 日韩高清一区 | 成人免费视频免费观看 | www.亚洲| 91视频午夜 | 欧美一级片播放 | 亚洲小视频在线 | 伊人天堂网 | 在线视频你懂 | 亚洲1级片| 国产一区二区三精品久久久无广告 | 亚洲精品午夜久久久 | 亚洲男模gay裸体gay | 久久在线影院 | 久久精品国产一区 | 久久在草 | 亚洲精品久久久久中文字幕二区 | 丁香激情综合国产 | 色片网站在线观看 | 青青久草在线视频 | 国产午夜三级一区二区三 | 亚洲一区二区精品 | 欧美激情一区不卡 | 在线小视频 | 亚洲最新在线视频 | 亚洲一区黄色 | 精品美女久久 | 国产黄色理论片 | 久久99热精品 | 久久专区 | 久久精品91久久久久久再现 | 97高清视频| 99免费在线 | 婷婷色在线播放 | 天天干天天操天天射 | 亚洲国产精品影院 | 国产中文字幕在线免费观看 | 九九综合九九综合 | 日本福利视频在线 | 美女国内精品自产拍在线播放 | 国产福利91精品一区二区三区 | 国产在线污 | 黄色三级视频片 | 国产精品久久久久999 | 国产一级片在线播放 | 午夜三级毛片 | 日日夜夜天天综合 | 精品福利国产 | 国产美女免费观看 | 免费看污片 | 久久婷婷精品视频 | 色精品视频 | 国产色拍拍拍拍在线精品 | 九月婷婷色 | 黄色av一区二区 | 蜜臀av免费一区二区三区 | 日韩最新av在线 | 99视频精品视频高清免费 | 国产一级二级在线播放 | 欧美a影视| 久草网免费 | 欧美日韩高清在线一区 | 国产精品少妇 | 亚洲一级片在线看 | 黄色日本免费 | 十八岁免进欧美 | 99精品在线免费视频 | 毛片网在线播放 | 欧美一级在线看 | 友田真希x88av | 西西大胆啪啪 | 国产区精品 | 精品国产乱子伦一区二区 | 丁香午夜婷婷 | 免费视频一二三 | 国产成人亚洲在线观看 | 天天曰夜夜操 | 日韩 国产| 国产黄色在线观看 | 另类老妇性bbwbbw高清 | 成人黄色免费在线观看 | 亚洲黄色a | 亚洲人毛片 | 国产成人一二片 | 日本激情动作片免费看 | 亚洲九九影院 | 中文字幕在线电影 | 激情综合五月天 | 99九九视频 | 婷婷播播网| 最近免费观看的电影完整版 | 一本色道久久精品 | 国产字幕在线观看 | 国产精品观看 | 六月婷色| 最近日本字幕mv免费观看在线 | 日韩免费福利 | 日韩资源在线观看 | 波多野结衣视频一区二区 | 久久99精品国产一区二区三区 | 免费v片 | 国产色在线,com | 国产精品久久久久久模特 | 亚洲国产精品久久久久久 | 亚洲精品美女在线观看播放 | 久久综合久久88 | 一级黄色片在线观看 | 中文av在线免费观看 | 国产不卡视频在线播放 | 亚洲自拍偷拍色图 | 丁香六月天 | 中文字幕视频在线播放 | 亚州av成人 | 天天玩天天干天天操 | 亚洲色图色 | 手机看片午夜 | 高清美女视频 |