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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

java连接linux服务器执行shell命令(框架分析+推荐)

發布時間:2024/4/19 linux 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java连接linux服务器执行shell命令(框架分析+推荐) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java連接linux服務器執行shell命令(框架分析+推薦)

一、分類+連接方式

  • 程序打成jar包,在本地服務器上執行shell命令。這種使用MyRuntimeUtil工具類
  • java程序遠程linux服務器有兩個框架分別是:jsch與ganymed-ssh2框架**。**推薦使用jsch框架因為ganymed-ssh2框架不支持麒麟服務器的連接原因是openssl版本過高,ganymed-ssh框架不維護了所以不支持。
  • 二、執行本地的shell命令

    <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.21</version></dependency>

    工具類

    package com.dameng.util; import cn.hutool.core.exceptions.UtilException; import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IoUtil; import cn.hutool.core.text.StrBuilder; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.CharUtil; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.log.StaticLog;import java.io.File; import java.io.IOException; import java.io.InputStream; import java.lang.management.ManagementFactory; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; import java.util.Stack; /*** @author xgt(小光頭)* @version 1.0* @date 2022-3-3 22:40*/ public class MyRuntimeUtil {/*** 執行系統命令,使用系統默認編碼** @param cmds 命令列表,每個元素代表一條命令* @return 執行結果* @throws IORuntimeException IO異常*/public static String execForStr(String... cmds) throws IORuntimeException {return execForStr(CharsetUtil.systemCharset(), cmds);}/*** 執行系統命令,使用系統默認編碼** @param charset 編碼* @param cmds 命令列表,每個元素代表一條命令* @return 執行結果* @throws IORuntimeException IO異常* @since 3.1.2*/public static String execForStr(Charset charset, String... cmds) throws IORuntimeException {return getResult(exec(cmds), charset);}public static String execForErrStr(Charset charset,String cmd) throws IORuntimeException {return getResultErr(exec(cmd), charset);}/*** 執行系統命令,使用系統默認編碼**/public static String execForStr(Charset charset, String cmds) throws IORuntimeException {return getResult(exec(cmds), charset);}/*** 執行系統命令,使用系統默認編碼** @param cmds 命令列表,每個元素代表一條命令* @return 執行結果,按行區分* @throws IORuntimeException IO異常*/public static List<String> execForLines(String... cmds) throws IORuntimeException {return execForLines(CharsetUtil.systemCharset(), cmds);}/*** 執行系統命令,使用系統默認編碼** @param charset 編碼* @param cmds 命令列表,每個元素代表一條命令* @return 執行結果,按行區分* @throws IORuntimeException IO異常* @since 3.1.2*/public static List<String> execForLines(Charset charset, String... cmds) throws IORuntimeException {return getResultLines(exec(cmds), charset);}/*** 執行命令<br>* 命令帶參數時參數可作為其中一個參數,也可以將命令和參數組合為一個字符串傳入** @param cmds 命令* @return {@link Process}*/public static Process exec(String... cmds) {Process process;try {process = new ProcessBuilder(handleCmds(cmds)).redirectErrorStream(true).start();} catch (IOException e) {throw new IORuntimeException(e);}return process;}/*** 執行命令<br>* 命令帶參數時參數可作為其中一個參數,也可以將命令和參數組合為一個字符串傳入** @param cmd 命令* @return {@link Process}*/public static Process exec(String cmd) {Process process;try {// 得到Java進程的相關Runtime運行對象Runtime runtime = Runtime.getRuntime();if(cmd.indexOf("|")>0){String[] cmdArr = {"sh","-c",cmd};process = runtime.exec(cmdArr);}else{process = runtime.exec(cmd);}} catch (IOException e) {throw new IORuntimeException(e);}return process;}/*** 執行命令<br>* 命令帶參數時參數可作為其中一個參數,也可以將命令和參數組合為一個字符串傳入** @param envp 環境變量參數,傳入形式為key=value,null表示繼承系統環境變量* @param cmds 命令* @return {@link Process}* @since 4.1.6*/public static Process exec(String[] envp, String... cmds) {return exec(envp, null, cmds);}/*** 執行命令<br>* 命令帶參數時參數可作為其中一個參數,也可以將命令和參數組合為一個字符串傳入** @param envp 環境變量參數,傳入形式為key=value,null表示繼承系統環境變量* @param dir 執行命令所在目錄(用于相對路徑命令執行),null表示使用當前進程執行的目錄* @param cmds 命令* @return {@link Process}* @since 4.1.6*/public static Process exec(String[] envp, File dir, String... cmds) {try {return Runtime.getRuntime().exec(handleCmds(cmds), envp, dir);} catch (IOException e) {throw new IORuntimeException(e);}}// -------------------------------------------------------------------------------------------------- result/*** 獲取命令執行結果,使用系統默認編碼,獲取后銷毀進程** @param process {@link Process} 進程* @return 命令執行結果列表*/public static List<String> getResultLines(Process process) {return getResultLines(process, CharsetUtil.systemCharset());}/*** 獲取命令執行結果,使用系統默認編碼,獲取后銷毀進程** @param process {@link Process} 進程* @param charset 編碼* @return 命令執行結果列表* @since 3.1.2*/public static List<String> getResultLines(Process process, Charset charset) {InputStream in = null;try {in = process.getInputStream();return IoUtil.readLines(in, charset, new ArrayList<>());} finally {IoUtil.close(in);destroy(process);}}/*** 獲取命令執行結果,使用系統默認編碼,,獲取后銷毀進程** @param process {@link Process} 進程* @return 命令執行結果列表* @since 3.1.2*/public static String getResult(Process process) {return getResult(process, CharsetUtil.systemCharset());}/*** 獲取命令執行結果,獲取后銷毀進程** @param process {@link Process} 進程* @param charset 編碼* @return 命令執行結果列表* @since 3.1.2*/public static String getResult(Process process, Charset charset) {InputStream in = null;InputStream errorStream = null;try {in = process.getInputStream();errorStream = process.getErrorStream();String errorResult = IoUtil.read(errorStream, charset);if(StrUtil.isNotBlank(errorResult)){StaticLog.warn("Shell command execution error, because {}",errorResult);}return IoUtil.read(in, charset);} finally {IoUtil.close(in);IoUtil.close(errorStream);destroy(process);}}/*** 獲取錯誤的執行結果,獲取后銷毀進程** @param process {@link Process} 進程* @param charset 編碼* @return 命令執行結果列表* @since 3.1.2*/public static String getResultErr(Process process, Charset charset) {InputStream in = null;InputStream errorStream = null;try {in = process.getInputStream();errorStream = process.getErrorStream();// System.out.println("252"+IoUtil.read(errorStream, charset));return IoUtil.read(errorStream, charset);} finally {IoUtil.close(in);IoUtil.close(errorStream);destroy(process);}}/*** 獲取命令執行異常結果,使用系統默認編碼,,獲取后銷毀進程** @param process {@link Process} 進程* @return 命令執行結果列表* @since 4.1.21*/public static String getErrorResult(Process process) {return getErrorResult(process, CharsetUtil.systemCharset());}/*** 獲取命令執行異常結果,獲取后銷毀進程** @param process {@link Process} 進程* @param charset 編碼* @return 命令執行結果列表* @since 4.1.21*/public static String getErrorResult(Process process, Charset charset) {InputStream in = null;try {in = process.getErrorStream();return IoUtil.read(in, charset);} finally {IoUtil.close(in);destroy(process);}}/*** 銷毀進程** @param process 進程* @since 3.1.2*/public static void destroy(Process process) {if (null != process) {process.destroy();}}/*** 增加一個JVM關閉后的鉤子,用于在JVM關閉時執行某些操作** @param hook 鉤子* @since 4.0.5*/public static void addShutdownHook(Runnable hook) {Runtime.getRuntime().addShutdownHook((hook instanceof Thread) ? (Thread) hook : new Thread(hook));}/*** 獲得JVM可用的處理器數量(一般為CPU核心數)** @return 可用的處理器數量* @since 5.3.0*/public static int getProcessorCount() {return Runtime.getRuntime().availableProcessors();}/*** 獲得JVM中剩余的內存數,單位byte** @return JVM中剩余的內存數,單位byte* @since 5.3.0*/public static long getFreeMemory() {return Runtime.getRuntime().freeMemory();}/*** 獲得JVM已經從系統中獲取到的總共的內存數,單位byte** @return JVM中剩余的內存數,單位byte* @since 5.3.0*/public static long getTotalMemory() {return Runtime.getRuntime().totalMemory();}/*** 獲得JVM中可以從系統中獲取的最大的內存數,單位byte,以-Xmx參數為準** @return JVM中剩余的內存數,單位byte* @since 5.3.0*/public static long getMaxMemory() {return Runtime.getRuntime().maxMemory();}/*** 獲得JVM最大可用內存,計算方法為:<br>* 最大內存-總內存+剩余內存** @return 最大可用內存*/public static long getUsableMemory() {return getMaxMemory() - getTotalMemory() + getFreeMemory();}/*** 獲取當前進程ID,首先獲取進程名稱,讀取@前的ID值,如果不存在,則讀取進程名的hash值** @return 進程ID* @throws UtilException 進程名稱為空* @since 5.7.3*/public static int getPid() throws UtilException {final String processName = ManagementFactory.getRuntimeMXBean().getName();if (StrUtil.isBlank(processName)) {throw new UtilException("Process name is blank!");}final int atIndex = processName.indexOf('@');if (atIndex > 0) {return Integer.parseInt(processName.substring(0, atIndex));} else {return processName.hashCode();}}/*** 處理命令,多行命令原樣返回,單行命令拆分處理** @param cmds 命令* @return 處理后的命令*/private static String[] handleCmds(String... cmds) {if (ArrayUtil.isEmpty(cmds)) {throw new NullPointerException("Command is empty !");}// 單條命令的情況if (1 == cmds.length) {final String cmd = cmds[0];if (StrUtil.isBlank(cmd)) {throw new NullPointerException("Command is blank !");}cmds = cmdSplit(cmd);}return cmds;}/*** 命令分割,使用空格分割,考慮雙引號和單引號的情況** @param cmd 命令,如 git commit -m 'test commit'* @return 分割后的命令*/private static String[] cmdSplit(String cmd) {final List<String> cmds = new ArrayList<>();final int length = cmd.length();final Stack<Character> stack = new Stack<>();boolean inWrap = false;final StrBuilder cache = StrUtil.strBuilder();char c;for (int i = 0; i < length; i++) {c = cmd.charAt(i);switch (c) {case CharUtil.SINGLE_QUOTE:case CharUtil.DOUBLE_QUOTES:if (inWrap) {if (c == stack.peek()) {//結束包裝stack.pop();inWrap = false;}cache.append(c);} else {stack.push(c);cache.append(c);inWrap = true;}break;case CharUtil.SPACE:if (inWrap) {// 處于包裝內cache.append(c);} else {cmds.add(cache.toString());cache.reset();}break;default:cache.append(c);break;}}if (cache.hasContent()) {cmds.add(cache.toString());}return cmds.toArray(new String[0]);} }

    使用方法

    package java.nio.charset;Charset charset = Charset.forName("UTF-8"); MyRuntimeUtil.execForStr(charset,"ls");

    三、Jsch遠程連接執行

    <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.21</version></dependency><!-- jsch的方式 遠程連接的包--><dependency><groupId>com.jcraft</groupId><artifactId>jsch</artifactId><version>0.1.55</version></dependency>

    工具類

    package com.dameng.util;import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.extra.ssh.JschRuntimeException; import com.jcraft.jsch.*;import java.io.*; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.util.Properties;/*** 執行Shell工具類*/ public class ExecuteShellUtil {/** 未調用初始化方法 錯誤提示信息 */private static final String DONOT_INIT_ERROR_MSG = "please invoke init(...) first!";private static Session session;private ExecuteShellUtil() {}/*** 獲取ExecuteShellUtil類實例對象** @return 實例* @date 2019/4/29 16:58*/public static ExecuteShellUtil getInstance() {return new ExecuteShellUtil();}/*** 初始化** @param ip* 遠程Linux地址* @param port* 端口* @param username* 用戶名* @param password* 密碼* @throws JSchException* JSch異常* @date 2019/3/15 12:41*/public void init(String ip, Integer port, String username, String password) throws JSchException {JSch jsch = new JSch();jsch.getSession(username, ip, port);session = jsch.getSession(username, ip, port);session.setPassword(password);Properties sshConfig = new Properties();sshConfig.put("StrictHostKeyChecking", "no");session.setConfig(sshConfig);session.connect(1200 * 1000);}/*** 執行一條命令*/public String execCmd(String command) throws Exception { // if (session == null || channel == null || channelExec == null) { // throw new Exception(DONOT_INIT_ERROR_MSG); // }// 打開執行shell指令的通道Channel channel = session.openChannel("exec");ChannelExec channelExec = (ChannelExec) channel;channelExec.setCommand("source /etc/profile && source ~/.bash_profile && source ~/.bashrc && adb devices");channelExec.setCommand(command);channel.setInputStream(null);channelExec.setErrStream(System.err);// channel.setXForwarding();channel.connect();StringBuilder sb = new StringBuilder(16);try (InputStream in = channelExec.getInputStream();InputStreamReader isr = new InputStreamReader(in, StandardCharsets.UTF_8);BufferedReader reader = new BufferedReader(isr)) {String buffer;while ((buffer = reader.readLine()) != null) {sb.append("\n").append(buffer);}return sb.toString();}finally {if (channelExec != null && channelExec.isConnected()) {channelExec.disconnect();}if ( channel != null && channel.isConnected()) {channel.disconnect();}}}/*** 執行一條命令 獲取錯誤流中的內容*/public String execCmdErrContent(String command) throws Exception { // if (session == null || channel == null || channelExec == null) { // throw new Exception(DONOT_INIT_ERROR_MSG); // }// 打開執行shell指令的通道Channel channel = session.openChannel("exec");ChannelExec channelExec = (ChannelExec) channel;channelExec.setCommand(command);channel.setInputStream(null);ByteArrayOutputStream err = new ByteArrayOutputStream();channelExec.setErrStream(err);channel.connect();StringBuilder sb = new StringBuilder(16);try (InputStream in = channelExec.getErrStream();InputStreamReader isr = new InputStreamReader(in, StandardCharsets.UTF_8);BufferedReader reader = new BufferedReader(isr)) {String buffer;while ((buffer = reader.readLine()) != null) {sb.append("\n").append(buffer);}if(StrUtil.contains(sb.toString(), "沒有那個文件或目錄")){return "";}else{return sb.toString();}}finally {if (channelExec != null && channelExec.isConnected()) {channelExec.disconnect();}if ( channel != null && channel.isConnected()) {channel.disconnect();}}}public static void closeConnect() {if (session != null && session.isConnected()) {session.disconnect();}} }

    使用方法

    package com.dameng;import cn.hutool.core.text.StrSplitter; import cn.hutool.core.util.StrUtil; import cn.hutool.extra.ssh.JschUtil; import com.dameng.util.ExecuteShellUtil; import com.dameng.util.ShellCmdUtil; import com.jcraft.jsch.JSchException; import com.jcraft.jsch.Session; import org.junit.Test;import java.math.BigDecimal; import java.util.List;/*** Unit test for simple App.*/ public class JschUtilTest {/*** Jsch方式4830*/@Testpublic void shouldAnswerWithTrue() {long currentTimeMillis = System.currentTimeMillis();ExecuteShellUtil instance = ExecuteShellUtil.getInstance();try {//instance.init("192.168.60.179", 22, "root","password123.1");// String ls = instance.execCmd("top -p 21475 -n 1 -b");String ls = instance.execCmd("cat /opt/dmdbms/log/dm_DW1_01B_202203.log | grep -v 'INFO'");List<String> lineFreedList = StrSplitter.splitByRegex(StrUtil.trimToEmpty(ls), "\n", -1, true, true);for (String s : lineFreedList) {List<String> stringList = StrSplitter.split(StrUtil.trimToEmpty(s), "=", -1, true, true);System.out.println(stringList);}System.out.println(ls);// // // 計算內存使用率(已使用內存/總內存) // String freeStr = instance.execCmd("free | sed -n '2p'"); // List<String> freeInfoList = StrSplitter.splitByRegex(StrUtil.trimToEmpty(freeStr), "\\s+", -1, true, true); // String allMemory = freeInfoList.get(1); // String usedMemory = freeInfoList.get(2); // double f1 = new BigDecimal(Float.valueOf(usedMemory) / Float.valueOf(allMemory)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue() * 100; // // // // // System.out.println(ls); // long currentTimeMillis1 = System.currentTimeMillis(); // System.out.println("Jsch方式"+(currentTimeMillis1-currentTimeMillis));} catch (Exception e) {System.out.println("error info");e.printStackTrace();}} }

    四、ganymed-ssh2遠程連接執行

    <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.21</version></dependency><!-- GanymedUtil的方式 遠程連接的包--><dependency><groupId>ch.ethz.ganymed</groupId><artifactId>ganymed-ssh2</artifactId><version>262</version></dependency>

    工具類

    package com.dameng.util;import ch.ethz.ssh2.Connection; import ch.ethz.ssh2.ConnectionInfo; import ch.ethz.ssh2.Session; import ch.ethz.ssh2.StreamGobbler; import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.log.StaticLog; import com.dameng.core.exception.MyGanymedException; import com.dameng.core.exception.MyHostConnectException; import com.dameng.core.exception.MyResolutionException; import com.dameng.domain.OsInfo;import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; import java.nio.charset.Charset; import java.util.List;/*** @author xgt(小光頭)* @version 1.0* @date 2022-2-26 15:36*/ public class MyGanymedSingleUtil {private MyGanymedSingleUtil() {}private static Connection connect;private static MyGanymedSingleUtil myGanymedSingleUtil;public static MyGanymedSingleUtil getInstance() {if(myGanymedSingleUtil == null){myGanymedSingleUtil =new MyGanymedSingleUtil();}return myGanymedSingleUtil;}/*** 連接到服務器* @param sshHost 主機* @param sshPort 端口* @return {@link Connection}*/public Connection connect(String sshHost, int sshPort) {connect = new Connection(sshHost, sshPort);try {connect.connect();} catch (IOException e) {throw new IORuntimeException(e);}return connect;}/*** 打開遠程會話** @param sshHost 主機* @param sshPort 端口* @param sshUser 用戶名,如果為null,默認root* @param sshPass 密碼* @return {@link Session}*/public void openConnect(String sshHost, int sshPort, String sshUser, String sshPass) throws MyHostConnectException {// 默認root用戶if (StrUtil.isEmpty(sshUser)) {sshUser = "root";}connect = connect(sshHost, sshPort);try {connect.authenticateWithPassword(sshUser, sshPass);ConnectionInfo connectionInfo = connect.getConnectionInfo();// session = connect.openSession();} catch (IOException e) {throw new MyHostConnectException(e);}}/*** 執行Shell命令(使用EXEC方式)* <p>* 此方法單次發送一個命令到服務端,不讀取環境變量,執行結束后自動關閉Session,不會產生阻塞。* </p>** @param cmd 命令* @param charset 發送和讀取內容的編碼* @return 執行返回結果*/public String exec(String cmd, String charset) throws Exception {final String result;final String stderrStr;ByteArrayOutputStream errStream = new ByteArrayOutputStream();Session session = null;try {session = connect.openSession();Charset charset1 = Charset.forName(charset);session.execCommand(cmd, charset1.name());result = IoUtil.read(new StreamGobbler(session.getStdout()), charset1);//打印錯誤的流輸出IoUtil.copy(new StreamGobbler(session.getStderr()), errStream);stderrStr = new String(errStream.toByteArray(),charset);} finally {session.close();}if(!StrUtil.isEmpty(stderrStr)){throw new MyGanymedException(stderrStr);}return result;}/*** 執行Shell命令* <p>* 此方法單次發送一個命令到服務端,自動讀取環境變量,執行結束后自動關閉Session,不會產生阻塞。* </p>** @param cmd 命令* @param charset 發送和讀取內容的編碼* @param errStream 錯誤信息輸出到的位置* @return 執行返回結果*/public String execByShell(String cmd, Charset charset, OutputStream errStream) {final String result;Session session = null;try {//這個方法有問題session.requestDumbPTY();IoUtil.write(session.getStdin(), charset, true, cmd);result = IoUtil.read(new StreamGobbler(session.getStdout()), charset);if(null != errStream){// 錯誤輸出IoUtil.copy(new StreamGobbler(session.getStdout()), errStream);}} catch (IOException e) {throw new IORuntimeException(e);} finally {close(session);}return result;}/*** 關閉會話**/public void close(Session session) {if(session!=null){session.close();}}/*** 關閉會話**/public void closeConnect() {if(connect!=null){connect.close();}}}

    使用方式

    package com.dameng;import ch.ethz.ssh2.Session; import cn.hutool.extra.ssh.GanymedUtil; import cn.hutool.extra.ssh.JschUtil; import com.dameng.util.ExecuteShellUtil; import com.dameng.util.MyGanymedUtil; import org.junit.Test;import java.io.ByteArrayOutputStream; import java.io.OutputStream; import java.nio.charset.Charset;/*** Unit test for simple App.*/ public class GanymedUtilTest {private static String DEFAULTCHART = "UTF-8";/*** Rigorous Test :-)*/@Testpublic void shouldAnswerWithTrue() {long currentTimeMillis = System.currentTimeMillis();// Session session = JschUtil.getSession("192.168.60.177", 22, "root", "root");Session session = MyGanymedUtil.openSession("192.168.60.177", 22, "root", "root");ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();Charset charset = Charset.forName("UTF-8");String ls = MyGanymedUtil.exec(session, "awk -F: '/model name/ {name=$2} END {print name}' /proc/cpuinfo | sed 's/^[ \\t]*//;s/[ \\t]*$//'", charset, byteArrayOutputStream);String str = new String(byteArrayOutputStream.toByteArray(),charset);System.out.println(ls);System.out.println("error="+str);long currentTimeMillis1 = System.currentTimeMillis();System.out.println("Ganymed方式"+(currentTimeMillis1-currentTimeMillis));} }

    問題總結

    1. dd命令進行磁盤測速方法獲取不到值

    經過分析發現執行結果都在工具類的錯誤流中,并非在正常流中,自己打印一下錯誤流就發現了。

  • 本地的shell命令的話參考一下工具類的MyRuntimeUtil.execForErrStr(charset,cmd)這個方法。
  • jsch框架的話參考一下工具類的jschInstance.execCmdErrContent(cmd)這個方法。
  • 2. 執行ll命令報錯

    采用框架中的方法調用,是不帶用戶的環境變量的所以ll命令會報錯,ll命令是ls -l命令封裝后的結果。所以需要使用ls -l命令。

    3.執行top命令報錯

    不支持top這種不斷刷新交互式的命令。加參數獲取一次性結果。

    top -b -n 1 |head -n 4 | grep 'sy' | grep 'us' | awk '{print $2}' 與50位技術專家面對面20年技術見證,附贈技術全景圖

    總結

    以上是生活随笔為你收集整理的java连接linux服务器执行shell命令(框架分析+推荐)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    最新日韩在线观看 | 日韩精品一区二区三区丰满 | 日本性动态图 | 亚洲欧美日韩一二三区 | 日韩黄色在线 | 国产麻豆精品久久一二三 | 欧美一级电影片 | 999久久久久久久久6666 | 亚洲精品综合一区二区 | 国产高清久久久久 | 日日干 天天干 | 国产精品普通话 | 黄污网站在线观看 | 99精品国产成人一区二区 | 久久久久女人精品毛片 | 在线观看91久久久久久 | 996久久国产精品线观看 | 在线观看视频你懂得 | 亚洲精品国产精品乱码在线观看 | 国产不卡视频在线 | 成人免费观看网址 | 激情av网| 99久久久成人国产精品 | 国产精品剧情在线亚洲 | 免费a v观看 | 69成人在线| 成人免费在线观看av | 五月婷婷免费 | 精品美女视频 | 美女久久久久 | 免费国产在线观看 | 国产成人一区三区 | 毛片美女网站 | 国产黄在线 | 久章草在线观看 | 高清不卡毛片 | 亚洲精品系列 | 少妇性bbb搡bbb爽爽爽欧美 | 久久天堂亚洲 | 色婷婷狠| 999成人精品 | 日韩精品一区二区不卡 | 66av99精品福利视频在线 | 欧美日韩免费一区二区三区 | 激情久久婷婷 | 午夜.dj高清免费观看视频 | 久久国产影视 | 国产视频精品免费播放 | 欧美精品亚洲精品 | 婷婷综合成人 | 日日夜夜综合网 | 国产精品a成v人在线播放 | 精品欧美一区二区精品久久 | 伊人五月天.com | 一级一级一片免费 | 国产精品美女视频 | 欧美日韩国产综合网 | 丁香激情婷婷 | 在线91播放 | 欧美日韩中文字幕综合视频 | 久久午夜影视 | 国产网站色 | 69亚洲乱| 久久精品首页 | 久久福利电影 | 九九久久精品视频 | 91热视频在线观看 | 久久在线精品 | 久久av高清| 人人干,人人爽 | 欧美精品乱码久久久久久按摩 | 免费视频 你懂的 | 免费看成年人 | 日韩在线第一区 | 日韩av图片| 黄色看片 | 在线免费观看视频一区二区三区 | 久草在线免费色站 | 久久影院中文字幕 | 亚洲自拍偷拍色图 | 国产精成人品免费观看 | 精品麻豆入口免费 | 欧美精品亚州精品 | 国产在线观看二区 | 国产成人精品一区一区一区 | 高清在线观看av | 黄色视屏在线免费观看 | 欧美日韩中文另类 | 91麻豆精品国产91久久久更新时间 | 亚洲精品动漫成人3d无尽在线 | 视频在线一区 | 久久深夜福利免费观看 | 久久精品一| 六月丁香在线观看 | 美女免费网站 | 亚洲欧美乱综合图片区小说区 | 91av资源网 | 狠狠色丁香婷婷综合久久片 | 奇米先锋 | 99久久久久成人国产免费 | 天天爽天天做 | 香蕉视频在线看 | 国产成人久久av免费高清密臂 | 亚洲精品乱码久久久一二三 | 日韩午夜在线播放 | a精品视频 | 99这里只有 | 美女av免费 | av中文字幕在线免费观看 | 丁香高清视频在线看看 | 天天干天天射天天爽 | 黄色在线观看免费 | 综合激情 | 精品uu| 在线观看免费黄视频 | 五月天电影免费在线观看一区 | 婷婷网五月天 | 91香蕉视频 mp4 | 亚洲精品网站在线 | 精品99在线观看 | 国产精品99久久久久久宅男 | 青春草视频| 色综合久久悠悠 | 在线免费观看羞羞视频 | 黄色一级大片在线观看 | 亚洲电影一级黄 | 天天玩天天干天天操 | 91成人免费观看视频 | 国产午夜三级一二三区 | 97福利在线 | 日日夜夜天天久久 | 中文av字幕在线观看 | 欧美日韩在线看 | 91网页版免费观看 | 中文字幕视频一区二区 | 日本久久高清视频 | 五月婷婷影院 | 天天综合天天做 | 最新国产在线 | 色七七亚洲影院 | 国产一区二区三区视频在线 | 国产精品综合在线观看 | 福利视频第一页 | 成人午夜剧场在线观看 | 毛片永久新网址首页 | 五月婷婷一级片 | 国产精品久久视频 | 午夜精品成人一区二区三区 | 色综合色综合久久综合频道88 | 精品视频9999 | 国产 欧美 在线 | 中文字幕国语官网在线视频 | 中文字幕在线专区 | 国产成人精品久久久久蜜臀 | 国产一区免费 | 久久精品79国产精品 | 中文字幕第一 | 91成人黄色 | 国产 日韩 在线 亚洲 字幕 中文 | 精品久久在线 | 特级西西人体444是什么意思 | 国产精品久久久久久a | 96久久欧美麻豆网站 | 国产在线超碰 | bbw av| 超碰免费公开 | 久久黄色片 | 国产精品一区二 | 在线看的av网站 | 97理论片 | 亚洲在线视频免费观看 | 日韩视频1区 | 成人动态视频 | 午夜影视一区 | 中文字幕字幕中文 | 成人97视频 | 97av影院 | 911国产精品 | 婷婷网在线 | 97av色 | 国产特级毛片aaaaaa高清 | 成人av免费播放 | 美女久久精品 | 国产91精品一区二区绿帽 | 狠狠干狠狠色 | 日日精品| adn—256中文在线观看 | 久久久久日本精品一区二区三区 | 国产精品自产拍在线观看蜜 | av888.com| 久久在线播放 | 国产美女免费观看 | 久久r精品 | 久久五月婷婷丁香社区 | 国产xvideos免费视频播放 | 天天色天天骑天天射 | 在线韩国电影免费观影完整版 | 91视频免费网址 | 在线播放亚洲 | 免费av视屏 | 婷婷伊人综合亚洲综合网 | 精品主播网红福利资源观看 | 久久精品视 | 日韩va亚洲va欧美va久久 | 久久天天躁狠狠躁亚洲综合公司 | 6080yy午夜一二三区久久 | 国产 日韩 中文字幕 | 天天干天天天天 | 91精品网站在线观看 | 视频精品一区二区三区 | 国产精品免费在线视频 | 免费av成人在线 | 亚洲国产无 | 国产视频在线看 | 天堂中文在线视频 | 国产在线999 | 亚洲欧美综合 | 婷婷精品在线视频 | 日本中文字幕在线免费观看 | 成年人电影免费看 | av手机版| 国产精品乱码久久久久久1区2区 | av三级在线看 | 久久99久久99精品 | 精品一区二区三区四区在线 | 国产精品久久一卡二卡 | 不卡视频一区二区三区 | 亚洲国产视频直播 | 国产一级精品绿帽视频 | 久久精品亚洲 | 日本天天色 | 中文av不卡 | 国产精品成人在线 | 欧美看片 | 91视频国产免费 | 99久久久久久久 | 日韩伦理片一区二区三区 | 91精品国自产在线偷拍蜜桃 | 天天干天天干天天射 | 一级一片免费观看 | 成年人国产精品 | 国产成人精品三级 | 精品一区精品二区高清 | 激情五月在线 | 日韩资源在线播放 | 久久久美女 | 在线观看亚洲精品 | 亚洲综合激情 | 在线观看你懂的网站 | 欧美最猛性xxx | 在线免费日韩 | 91九色最新地址 | 在线观看中文字幕2021 | 亚洲国产成人久久综合 | 丁香久久婷婷 | 在线观看日韩中文字幕 | 永久av免费在线观看 | 免费成人在线视频网站 | 97精品超碰一区二区三区 | 亚州免费视频 | 日韩无在线 | 日韩欧美视频在线观看免费 | 亚洲精品国产精品国 | 免费h视频 | 伊人中文网 | 亚洲精品九九 | 91看片网址 | 久久一级电影 | 免费看黄在线观看 | 黄色特级一级片 | 中文字幕在线看片 | 亚洲高清视频在线观看免费 | 日韩在线免费观看视频 | 色七七亚洲影院 | 99久久99视频只有精品 | 国产高清久久久久 | 日韩午夜精品 | 97日日碰人人模人人澡分享吧 | 中文字幕视频 | 99视频国产精品 | 九九热精品视频在线观看 | 精品久久久久久久久久久久久久久久 | 日韩欧美在线免费观看 | 久久午夜视频 | www.色五月 | 99精品国产99久久久久久福利 | 日本久草电影 | 色综合天天干 | 黄色小视频在线观看免费 | 99热这里有精品 | 久久久久久久久电影 | 91看成人 | 国产高清在线观看av | 国产九九九九九 | 最近最新中文字幕视频 | 久久午夜精品影院一区 | 男女激情网址 | 91专区在线观看 | 日韩欧美一区二区三区在线 | 日韩大片在线看 | 日韩在线观看三区 | 成人91在线观看 | 国产又黄又爽又猛视频日本 | 欧美日韩中文视频 | 久久人人爽人人爽 | 99 色| 久久久99国产精品免费 | 久久成人高清 | 免费看片网页 | av字幕在线| 美女网站黄免费 | 91视频在线国产 | www.狠狠操 | 午夜影视av | 久久99精品久久久久婷婷 | 久久久久久久毛片 | 中文字幕 欧美性 | 97av在线视频 | 久久视频免费看 | 国产亚洲一区二区三区 | 亚州人成在线播放 | 色综合狠狠干 | 国产精品1区 | 天天操天天舔天天干 | 婷婷色5月 | 超碰久热 | 97超碰中文字幕 | 国产96精品 | 午夜精品一二区 | 久久国产剧场电影 | 精品国产1区 | 韩国一区二区在线观看 | a级国产片 | 黄色片毛片| 成人免费观看a | 国产视频久久 | 成人午夜免费剧场 | 中文字幕在线网址 | 免费午夜视频在线观看 | 成人免费精品 | 日韩av午夜 | 国产成在线观看免费视频 | 黄色aaa级片 | 操老逼免费视频 | 99九九热只有国产精品 | 成人黄性视频 | 91香蕉视频 | 日韩精品视频免费看 | 韩日精品在线观看 | 中文字幕成人在线观看 | 中文字幕在线视频网站 | 亚洲va在线va天堂va偷拍 | 久久夜色网 | 亚洲午夜av电影 | 成人三级视频 | 手机在线日韩视频 | 成片免费观看视频大全 | 一区二区三区在线影院 | 国产精品免费在线观看视频 | 91精选| 中文在线字幕免费观 | 97超碰人人模人人人爽人人爱 | 在线观看www视频 | 久久av网| 婷婷成人亚洲综合国产xv88 | 91视频亚洲 | 午夜视频免费播放 | 精品国偷自产在线 | 国产成人在线一区 | 日韩精品中文字幕在线观看 | 午夜少妇 | 日本特黄特色aaa大片免费 | 国产在线观看一区 | 特级西西444www大精品视频免费看 | 日韩欧美一区二区在线播放 | 午夜一级免费电影 | 久久综合婷婷国产二区高清 | 成人免费在线播放视频 | 一区国产精品 | 最近字幕在线观看第一季 | 成人午夜黄色影院 | 亚洲成av人片在线观看 | 国产91在线看 | 久久伦理电影网 | 91亚洲国产成人久久精品网站 | 黄色网在线免费观看 | 97色在线观看 | 日本成人黄色片 | 婷婷色中文字幕 | 四虎在线永久免费观看 | 天天色天天综合网 | 色网站黄 | 97色婷婷成人综合在线观看 | 亚洲午夜精品一区二区三区电影院 | 精品久久久久久久久久久久久久久久 | 国产免费人成xvideos视频 | 欧美色道 | 中文在线资源 | 97在线看片 | 亚洲视频综合 | 伊人夜夜 | 六月丁香伊人 | 色网站在线看 | 中文字幕亚洲欧美日韩2019 | 免费观看第二部31集 | 国产精品一区二区久久精品爱涩 | 一级免费看| 超碰在线免费福利 | 黄a在线看 | 国产直播av | 成人黄色电影免费观看 | 人人插人人插 | 欧美一区视频 | 天天综合网在线观看 | 国产麻豆视频免费观看 | 国产中文字幕在线播放 | 人人干网站 | 99精品黄色| 国产精品免费大片视频 | 日韩一级黄色av | 中文字幕资源网在线观看 | 国产精品网红直播 | 欧美大片大全 | 国产日韩欧美在线观看视频 | 亚洲精品久久激情国产片 | 亚洲无吗天堂 | 国产青草视频在线观看 | 亚洲一区二区高潮无套美女 | av中文天堂| 在线日韩精品视频 | 深夜精品福利 | 亚色视频在线观看 | 日韩精品久久久免费观看夜色 | 国产美女精品在线 | www日韩| 国产成人福利在线 | 久久激情五月丁香伊人 | 日本性高潮视频 | 久久国产午夜精品理论片最新版本 | 天天天综合网 | 久久久精品国产一区二区三区 | 成人小视频免费在线观看 | 激情视频一区二区三区 | 国产一二区视频 | 久日精品| 波多野结衣最新 | 国产99视频在线观看 | 久久久久久久久久影院 | 国模精品一区二区三区 | 国内丰满少妇猛烈精品播 | 午夜精品一区二区三区免费视频 | 99久久99| 日韩深夜在线观看 | 久久艹在线观看 | 国产精品毛片一区二区三区 | 五月激情亚洲 | 精品一区av | 香蕉视频在线观看免费 | 一区二区三区韩国免费中文网站 | 91丨九色丨91啦蝌蚪老版 | 欧美一区二区三区不卡 | 久草在线网址 | 日韩精品观看 | 久久精品国产一区 | 日韩中文在线电影 | 亚洲综合成人在线 | 丁香六月婷婷开心婷婷网 | 免费91麻豆精品国产自产在线观看 | 伊人久久电影网 | 天天艹天天操 | 99热手机在线 | 丁香婷婷激情网 | 国产精品a久久久久 | 美女网站在线播放 | 欧美国产日韩一区 | 久久久久久久免费观看 | 91av原创 | 99亚洲国产 | av成人在线播放 | 99精品国产aⅴ | 亚洲精品电影在线 | 一本到视频在线观看 | 视色网站 | 操碰av | 激情五月婷婷综合网 | 国产精品不卡一区 | 欧美美女一级片 | 中日韩三级视频 | 国产高清视频免费观看 | 国产一区二区三精品久久久无广告 | 国产精品久久嫩一区二区免费 | av电影免费在线播放 | 天天干天天插伊人网 | 国产一区二区成人 | 高清一区二区三区av | 亚洲精选国产 | 亚洲视频电影在线 | www免费看 | 中文字幕国语官网在线视频 | 蜜臀av夜夜澡人人爽人人桃色 | 亚洲欧洲视频 | 人人澡人人爽 | 在线观看蜜桃视频 | 亚洲va欧美va人人爽 | av在线最新 | 午夜精品久久久久久久久久久 | 91精品对白一区国产伦 | 九九av| 麻豆视频国产在线观看 | 97成人在线视频 | 日日夜夜狠狠操 | 久久这里只有精品9 | 日韩一区二区三区不卡 | 免费看黄色大全 | 久久久国产精品成人免费 | 樱空桃av | av免费在线播放 | 午夜av不卡 | 99热这里只有精品8 久久综合毛片 | 天天射天天操天天色 | 欧美精品一区二区在线观看 | 欧美日韩一区二区在线 | 麻豆91在线播放 | 九九久久影视 | 日韩黄色av网站 | 精品久久久网 | 国产成人久久精品一区二区三区 | 免费福利在线观看 | 精品自拍av | 国产又粗又猛又爽 | 黄色网址国产 | 久久精品美女视频 | 日韩在线播放欧美字幕 | 中文字幕中文字幕 | 另类老妇性bbwbbw高清 | 伊人一级| 摸bbb搡bbb搡bbbb| 亚洲精品网站 | 亚洲三级网 | 久久久久久黄色 | 深爱婷婷激情 | 国产一二三精品 | 九九热.com| 国产精品美女999 | 国产男女无遮挡猛进猛出在线观看 | 日本久久精品视频 | 一区二区三区在线观看中文字幕 | 免费在线观看毛片网站 | 午夜av剧场| 96久久欧美麻豆网站 | 蜜臀av夜夜澡人人爽人人桃色 | 97精品国产91久久久久久 | 久草99 | 天天草天天干天天 | 欧美日韩在线视频观看 | 国产一区二区三区高清播放 | 91av观看| 亚洲激情综合 | 亚洲精品国产精品久久99 | 日韩高清不卡一区二区三区 | 亚洲欧美日本国产 | 91亚洲国产成人 | 亚洲午夜精 | 欧美91片| 亚洲精品 在线视频 | 欧美日韩一区二区三区在线观看视频 | 深爱激情av | 亚洲视频免费在线 | 97超碰资源网 | 久久精品之 | 天天做天天爱天天综合网 | 六月天综合网 | 四虎在线视频免费观看 | 国模一区二区三区四区 | 日韩精品欧美专区 | 国产手机在线 | 精品九九九九 | 久久a v视频 | 精品久久久久国产免费第一页 | 久色伊人| 成人一级电影在线观看 | 免费看一级片 | 精品国产资源 | 香蕉久久国产 | 91精品视频免费在线观看 | 日日干av| 91看片一区二区三区 | 97成人资源 | 日韩色高清 | 亚洲成人国产精品 | 国产精品一区二区视频 | 欧美精品在线一区二区 | 国产又粗又硬又爽的视频 | 国产精品av免费在线观看 | 国内精品久久久久国产 | 少妇bbb搡bbbb搡bbbb | 国产露脸91国语对白 | 黄色大片网| 亚洲最新毛片 | 九九免费在线观看视频 | 亚洲精品乱码久久久一二三 | av在线影片| 成人教育av | 在线日韩视频 | 日韩天天综合 | 免费国产视频 | 久久久国产视频 | 中文字幕在线视频国产 | 国产一线在线 | 日韩视| 手机在线看片日韩 | 四虎最新入口 | 欧美精品亚洲精品日韩精品 | 日日干视频 | 免费色视频在线 | 日韩在线观看三区 | 国产视频日韩视频欧美视频 | 中文字幕在线电影 | 国产麻豆果冻传媒在线观看 | 500部大龄熟乱视频 欧美日本三级 | 国产黄在线免费观看 | 日韩免费中文 | 国产成人福利在线 | 午夜视频在线观看一区二区三区 | 天天干天天操天天做 | 中文字幕日韩电影 | 韩国一区视频 | 日日碰狠狠添天天爽超碰97久久 | 国内久久久久久 | 中国一级特黄毛片大片久久 | 91中文在线视频 | 国产精品毛片久久 | 一区二区在线影院 | 久久综合成人网 | 91久色蝌蚪 | 久久伊99综合婷婷久久伊 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 免费在线观看国产黄 | 国产精品一区二区三区在线免费观看 | 久久免费视频在线 | 欧美日韩国产页 | av在线看网站 | 日韩毛片在线播放 | 久久精品久久99 | 91网站在线视频 | 久久黄色小说视频 | 亚洲专区视频在线观看 | 99久久久国产精品免费99 | 久久久国产精品一区二区中文 | 在线观看中文字幕av | 国内精品视频在线播放 | 日韩区视频 | av免费看看 | 91中文字幕视频 | 婷婷av综合 | 中文字幕一区二区三 | 欧美日本三级 | 免费观看国产精品视频 | 又色又爽又黄高潮的免费视频 | 久久国产精品久久久久 | 少妇啪啪av入口 | 久草视频网 | 亚洲最新av在线网址 | 91福利在线观看 | 韩国av在线播放 | 五月天,com | 97色在线观看 | 国产人成在线视频 | 国产网红在线观看 | 色综合国产 | 成人影片在线播放 | 国产精品欧美久久久久天天影视 | 国产97在线看| 91亚色免费视频 | 久久亚洲婷婷 | 国产精品久久久久久久久久久久冷 | aⅴ视频在线| 五月婷婷激情六月 | 婷婷亚洲五月 | 亚洲最新视频在线播放 | 国产一区二区三区四区在线 | 成人一级免费视频 | 黄色www在线观看 | 日本精品久久 | 久久久久久久电影 | 97韩国电影 | 国产精品免费麻豆入口 | 久久久久免费电影 | 精品国产乱码久久久久久浪潮 | 超碰在线观看97 | 国产精品久久久久久久久久久免费 | 男女视频国产 | 国产在线小视频 | 日韩欧美一区二区三区视频 | av电影亚洲 | 99热这里只有精品免费 | 免费日韩av电影 | 欧美婷婷色 | 日韩av一区二区三区在线观看 | 国产精品成人a免费观看 | 爱情影院aqdy鲁丝片二区 | 在线观看www. | 国产一级在线视频 | 丁香激情综合国产 | 亚洲精品视频在线免费 | 中文字幕a∨在线乱码免费看 | 97精品国自产拍在线观看 | 日韩电影中文 | 日韩中文字幕亚洲一区二区va在线 | 日韩综合一区二区三区 | 国产精品久久久久久久午夜片 | 色姑娘综合网 | 一区二区三区视频 | 特级西西人体444是什么意思 | 27xxoo无遮挡动态视频 | 国产一及片 | 午夜在线观看 | 国产亚洲综合精品 | 精品国产理论片 | 欧美成人一区二区 | 99婷婷| 中文字幕在线成人 | 特级西西www44高清大胆图片 | 色wwww| 久久免费电影 | 欧美日韩视频免费看 | 在线国产欧美 | 黄www在线观看 | 91丨九色丨高潮 | 国产精品伦一区二区三区视频 | 超碰在线亚洲 | 久久在线影院 | 五月天综合 | 99热精品在线观看 | 成人av视屏 | 国产精品久久伊人 | 97精品国产97久久久久久久久久久久 | 九九热精品视频在线播放 | 黄视频网站大全 | 久久精品亚洲精品国产欧美 | 不卡的av| 中文字幕高清视频 | www.五月激情.com | 欧美成年黄网站色视频 | 色橹橹欧美在线观看视频高清 | 日韩一区精品 | 日韩视频免费观看高清完整版在线 | 九九热中文字幕 | 久久久久久久久久久网 | 五月婷久久 | 国产色婷婷精品综合在线手机播放 | 开心综合网 | 成人av在线网址 | 日韩av电影国产 | 天天干天天干天天干天天干天天干天天干 | 久久久久久久国产精品影院 | 国产一级电影在线 | 国产精品 日韩精品 | 五月天综合网站 | 亚洲欧美综合精品久久成人 | 日韩大片免费在线观看 | 久久久黄色av | 天天综合导航 | 2019中文最近的2019中文在线 | 天天夜夜狠狠操 | 99热官网 | 奇米四色影狠狠爱7777 | 激情视频二区 | 1024手机基地在线观看 | 亚洲精品国产拍在线 | 综合激情| 热re99久久精品国产99热 | 欧美a在线看 | 国产一级淫片在线观看 | 欧美精品一区二区蜜臀亚洲 | 久久免费视频7 | 婷婷色婷婷 | 成人一级片视频 | 欧美一区免费观看 | 成人在线免费看视频 | 日韩影视精品 | 亚洲精品国产精品国自产观看 | 国产精品一区二区三区免费看 | 亚洲在线高清 | 天堂av网在线| 五月天综合激情网 | av电影亚洲 | 韩国av三级 | 在线日韩中文字幕 | 国产精品白浆 | 狠狠久久伊人 | 黄色片免费电影 | 日韩欧美成人网 | 国产亚洲视频在线免费观看 | 亚洲精品字幕在线 | 欧美天天射 | 日韩理论电影在线观看 | 欧美污在线观看 | 毛片基地黄久久久久久天堂 | 麻豆视频一区二区 | 999日韩| 国产在线999 | 黄色高清视频在线观看 | 国产日韩中文字幕 | 欧美日韩一区二区三区不卡 | 亚洲一区二区黄色 | 美女视频黄免费的久久 | 国产精品aⅴ | 狂野欧美激情性xxxx | 日韩欧美精品一区二区 | 97国产精品视频 | 中文字幕电影一区 | 99久高清在线观看视频99精品热在线观看视频 | 久久久亚洲电影 | 久草在线一免费新视频 | 伊人狠狠色丁香婷婷综合 | 国产又黄又硬又爽 | av一区二区三区在线 | 中文字幕视频一区二区 | 午夜精品久久久久久中宇69 | 九九亚洲视频 | 午夜久久久久久久久久影院 | 欧美精品久久久久a | 人人看人人 | 久久综合干 | 中文字幕网站 | 波多野结衣在线视频一区 | 91看片在线看片 | 国产99久久九九精品免费 | 精品欧美乱码久久久久久 | 伊人导航 | 亚洲精品乱码久久久久v最新版 | 高清一区二区三区av | 成人av电影在线 | 97电影网手机版 | 久久综合99 | 国产成人黄色片 | 亚洲精品乱码白浆高清久久久久久 | 欧美韩国日本在线观看 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 精品一区二区在线免费观看 | 久久成人18免费网站 | 久久久久久国产精品亚洲78 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 五月激情久久 | 国产欧美日韩一区 | 麻豆91精品91久久久 | 成人日批视频 | 欧美色综合久久 | 亚洲一一在线 | 特黄特色特刺激视频免费播放 | 伊人www22综合色 | 日韩欧美一区二区三区视频 | 日韩专区视频 | 亚洲视屏在线播放 | 亚洲午夜久久久久久久久 | 99热这里只有精品国产首页 | 午夜美女wwww | 久草在线高清视频 | 99热亚洲精品| 人九九精品 | 久久久久久久久久久高潮一区二区 | 在线播放你懂 | 久久五月婷婷丁香 | 久久精品屋 | 波多野结衣在线中文字幕 | 婷婷网五月天 | 精品在线观看免费 | 日本在线观看中文字幕无线观看 | 狠狠色噜噜狠狠狠狠2022 | 天天摸天天操天天舔 | 久久久影片 | 国产在线精品国自产拍影院 | 亚洲成 人精品 | 91成人免费看 | 天天射天天干 | 国产一二三四在线视频 | 999成人精品 | 国产一级免费av | 天天操天天爱天天爽 | 中国一级片在线播放 | 欧美一级看片 | 亚洲电影自拍 | 国产高清视频网 | 免费在线观看午夜视频 | 美女网站在线免费观看 | 国产日韩在线看 | 日韩精品中文字幕有码 | 日日天天 | 激情五月播播久久久精品 | 在线导航福利 | 91在线观看黄 | 日本3级在线观看 | 日本久久中文字幕 | 日韩久久久久久久 | 免费看高清毛片 | 久久精品人人做人人综合老师 | 涩av在线 | 亚洲综合爱 | av电影av在线 | 亚洲免费在线观看视频 | 亚洲人成在线观看 | 成人在线观看你懂的 | 欧美日韩一区二区三区不卡 | 成人黄在线 | 亚洲狠狠婷婷综合久久久 | 中文字幕一区二区三区四区视频 | 天天干天天色2020 | 国产一级片观看 | 在线视频1卡二卡三卡 | 日日夜夜精品 | 黄色三级免费片 | 国产高清精品在线观看 | 久久免费的视频 | 午夜精品久久久久 | 久久国产精品影片 | 91成人精品观看 | 亚洲精品456在线播放乱码 | 免费成人在线视频网站 | 日韩三级.com | 日韩视频一区二区在线 | 中文区中文字幕免费看 | 国色综合 | 亚洲精品综合在线观看 | 欧美日韩激情网 | av再线观看 | 中文字幕 国产视频 | 精品国产一区二区三区四 | 中文视频在线 | 中文字幕在线成人 | 国产原创91 | 日韩视频a| 夜夜操狠狠干 | 在线国产一区二区 | 国产精品乱码久久久久 | 国产精品美女999 | 91视频xxxx| 天天艹天天 | 久久久久看片 | 国内精品久久久 | 三级黄色三级 | 精品免费久久久久 | 国产一级免费在线观看 | 91亚洲视频在线观看 | 最近免费中文字幕 | 97免费| 久久久一本精品99久久精品 | 一级黄色片在线观看 | 国产在线看一区 | 久久不色 | 天天伊人网 | 日韩中文字幕a | 国产精品久久久久国产精品日日 | 999久久| 国产精品精品 | 久久精品毛片 | 久久九九精品 | 免费看黄的 | 日韩精品高清不卡 | 亚洲精品视频在线 | 99在线精品免费视频九九视 | 欧美日韩国产在线精品 | 国产高清视频在线播放 | 久久久国产精品成人免费 | 中文字幕在线观看视频网站 | 97夜夜澡人人双人人人喊 | 97人人添人澡人人爽超碰动图 | 久久公开免费视频 | 久久久久久草 | 一本之道乱码区 | 日韩高清在线一区二区 | 亚洲高清视频一区二区三区 | 免费a网站| 亚洲五月六月 | 免费看国产精品 | 国产精品美女免费视频 | 美女视频一区 | 激情五月亚洲 | 狠狠色伊人亚洲综合成人 | 国产精久久久 | 婷婷av在线 | 开心色插 | 国产精品二区在线观看 | 久久久片| 日日夜夜精品免费 | 一区av在线播放 | 国产视频精品免费 | 久久久久久久久免费视频 | 国产国语在线 | 免费一级特黄录像 | 国产在线不卡精品 | 激情视频一区二区三区 | 久久综合福利 | 草樱av| 九九影视理伦片 | 成人一区二区在线观看 | 国内精品小视频 | 天天射天天射天天 |