<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    2005年12月23日

    apache 2.0.55
    jk 1.2.15

    httpd.conf中設(shè)置JkMount /pay/* paycore
    當(dāng)form的action(如/pay/do/%ab%df123456)已經(jīng)用url編碼編碼過后再提交時,jk無法識別,不能正確轉(zhuǎn)化到對應(yīng)的tomcat上.
    posted @ 2005-12-23 17:32 zzzhc 閱讀(250) | 評論 (0)編輯 收藏
     

    由docbook生成pdf,且基本上沒有中訪問題的簡單方法:

    將hibernate文檔部分源碼(:pserver:anonymous@cvs.sourceforge.net:/cvsroot/hibernate下的doc/reference)取下,將zh-cn目錄下的xml文件用自已的代替,修改zh-cn/styles/fopdf.xsl,將與hibernate相關(guān)的部分改為自已的內(nèi)容,主要是version和logo,通過在文件中查找hibernate很容易找得到,用原來的fopdf.xsl生成的pdf的subtitle為亂碼,將fopdf.xsl文件中的

    <fo:block font-family="Helvetica" font-size="22pt" padding-before="10mm">
                                    <xsl:value-of select="bookinfo/subtitle"/>
                                </fo:block>
                                <fo:block font-family="Helvetica" font-size="12pt" padding="10mm">
                                    Version:
                                    <xsl:value-of select="bookinfo/releaseinfo"/>
                                </fo:block>

    修改為

    <fo:block font-family="simsun" font-size="22pt" padding-before="10mm">
                                    <xsl:value-of select="bookinfo/subtitle"/>
                                </fo:block>
                                <fo:block font-family="simsun" font-size="12pt" padding="10mm">
                                    Version:
                                    <xsl:value-of select="bookinfo/releaseinfo"/>
                                </fo:block>

    換一下subtitle的字體,就不會有亂碼了.刪除en目錄,修改一下build.xml,去掉<antcall target="lang.all"><param name="lang" value="en"/></antcall>,只生成中文結(jié)果.

    有點(diǎn)難受的是標(biāo)點(diǎn)還是有可能會出現(xiàn)在句首.

    參考:

    http://www.donews.net/limodou/archive/2004/04/01/9917.aspx

    http://www.blogcn.com/user6/caoxg/blog/2402234.html


    文章來源:http://spaces.msn.com/members/zzzhc/Blog/cns!1pPbKg7hHgS7AKKQm6CWG1ZQ!106.entry
    posted @ 2005-12-23 15:13 zzzhc 閱讀(518) | 評論 (0)編輯 收藏
     

    用figure表示圖形,再用fop轉(zhuǎn)換成pdf時,如果圖片的大小比pdf的一頁的大小還大時,fop會出錯,拒絕工作,它不會把圖片縮小一點(diǎn)的,自已把圖片縮小一點(diǎn)就可以了.害我找了半天才發(fā)現(xiàn)原因,暈啊.


    文章來源:http://spaces.msn.com/members/zzzhc/Blog/cns!1pPbKg7hHgS7AKKQm6CWG1ZQ!121.entry
    posted @ 2005-12-23 15:13 zzzhc 閱讀(255) | 評論 (0)編輯 收藏
     

    smc源自于 Bob Martin 的狀態(tài)機(jī)編譯器,能根據(jù)定義文件生成c++,java,tcl,vb.net,c#狀態(tài)機(jī).

    定義文件一般格式

    當(dāng)前狀態(tài)

    {

    狀態(tài)變遷  變遷后狀態(tài)

                    {

                        變遷時執(zhí)行的動作

                     }

    }


    文章來源:http://spaces.msn.com/members/zzzhc/Blog/cns!1pPbKg7hHgS7AKKQm6CWG1ZQ!123.entry
    posted @ 2005-12-23 15:13 zzzhc 閱讀(337) | 評論 (0)編輯 收藏
     
          對于沒有外鍵關(guān)系的簡單表,hbm文件中不要做修改就能映射成dom4j的Element,默認(rèn)每個屬性都映射為一個node;有外鍵關(guān)系的要在many-to-one中加入 embed-xml="false",要不的話經(jīng)常會造成堆棧溢出或者dom4j試圖給一個節(jié)點(diǎn)設(shè)置多個父節(jié)點(diǎn).
    簡單測試:
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping
     package="test">
     
     <class name="Xml" table="xml" lazy="true" node="xml">
      <id name="id" column="id" type="long" node="@id">
       <generator class="native"/>
      </id>
      <property name="name" column="name" not-null="true" length="250" node="@name"/>
      
      <bag name="subs" table="sub" inverse="true" node="subs">
       <key column="parent" />
       <one-to-many class="Sub" node="sub"/>
      </bag>
     </class>
     
    </hibernate-mapping>
     
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping
     package="test">
     
     <class name="Sub" table="sub" lazy="true" node="sub">
      <id name="id" column="id" type="long" node="@id">
       <generator class="native"/>
      </id>
      <property name="name" column="name" not-null="true" length="250" node="@name"/>
      
      <many-to-one name="parent" column="parent" class="Xml" embed-xml="false"/>
     </class>
     
    </hibernate-mapping>
     
    復(fù)雜一點(diǎn)的:
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping
     package="test">
     <class name="Dir" table="dir" lazy="true">
      <id name="id" column="id" type="long" node="@id">
       <generator class="native"/>
      </id>
      <property name="name" column="name" not-null="true" length="50" node="@name"/>
      
      <many-to-one name="parent" column="parent_id" class="Dir" node="@parentId" embed-xml="false"/>
      
      <bag name="children" inverse="true" cascade="all" node="dirs">
       <key column="parent_id"/>
       <one-to-many class="Dir"/>
      </bag>
      
      <bag name="files" inverse="true" table="file" node="files">
       <key column="parent_id" />
       <one-to-many class="File"/>
      </bag>
      
     </class>
     
    </hibernate-mapping>
     
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping
     package="test">
     
     <class name="File" table="file" lazy="true">
      <id name="id" column="id" type="long" node="@id">
       <generator class="native"/>
      </id>
      <property name="title" column="title" not-null="true" length="250"/>
      <property name="content" column="content" not-null="true" type="string"
       lazy="true" length="10000"/>
      <many-to-one name="parent" column="parent_id" class="Dir" not-null="true" node="@parentId" embed-xml="false"/>
     </class>
     
    </hibernate-mapping>
     

    文章來源:http://spaces.msn.com/members/zzzhc/Blog/cns!1pPbKg7hHgS7AKKQm6CWG1ZQ!124.entry
    posted @ 2005-12-23 15:13 zzzhc 閱讀(495) | 評論 (0)編輯 收藏
     
    參考http://www.wespoke.com/archives/000978.html,用python重寫了一下,可以指定目錄,指定保存路徑
    #! /usr/bin/python
    import urllib, re,sys,os,os.path,getopt
    threadNum = 20
    savePath = "mp3-2"
    optlist,left = getopt.getopt(sys.argv[1:], "t:d:")
    for opt in optlist:
        print opt
        if (opt[0]=='-t'):
            threadNum = int(opt[1])
        if (opt[0]=='-d'):
            savePath = opt[1]
    print "threadnum="+str(threadNum)
    print "savePath="+savePath
    if (not os.path.exists(savePath)):
        os.makedirs(savePath)
    base = "http://list.mp3.baidu.com/topso/"
    url = "http://list.mp3.baidu.com/topso/mp3topsong.html"
    def getUrlData(url):
        num = 0
        while (num<3):
            num = num+1
            try :
                f = urllib.urlopen( url )
                data = f.readlines()
                f.close()
                return data
            except:
                pass
        return []
       
    data = getUrlData(url)
    pattern = re.compile( r'href="(.*?tsomp3.htm)' )
    target = [];
    for line in data:
        if ( line.find( "tsomp3.htm" )!=-1 ):
            items = pattern.findall( line )
            for item in items:
                target.append( item )
               
    print "find ",len( target )," mp3 "
    mp3Pattern = re.compile( r'href="(.*?\.mp3)"' )
    titlePattern = re.compile( r'<title>.*?_(.*?)\s+</title>' )
    import threading
    lock = threading.Lock()
    def getMp3():
        while True:
            t = ""
            lock.acquire()
            if ( len( target )>0 ):
                t = target[0]
                target.remove( t )
            else :
                return
            lock.release()
            tempUrl = base+t
            data = getUrlData(tempUrl)
            mp3Target = []
            title = "";
            for line in data:
                if ( line.find( "title" )!=-1 ):
                    m = titlePattern.search( line )
                    if ( m ):
                        title = m.group( 1 )
                        break
            for line in data:
                if ( len( mp3Target )>10 ):
                    break
                if ( line.find( ".mp3" )!=-1 ):
                    items = mp3Pattern.findall( line )
                    for item in items:
                        mp3Target.append( item )
            filename = savePath+"/"+title+".mp3"
            for t in mp3Target:
                try :
                    print "try to get "+title+".mp3,url=",t
                    ret = urllib.urlretrieve( t, filename )
                    size = os.path.getsize(filename)
                    if (size>500*1024):
                        print "done:"+title+".mp3"
                        break
                except :
                    print "fail to get "+title+".mp3 with url "+t
                    pass
    for num in range(threadNum):
        thread = threading.Thread( None, getMp3 )
        thread.start()
        print "start thread ",num
       

    文章來源:http://spaces.msn.com/members/zzzhc/Blog/cns!1pPbKg7hHgS7AKKQm6CWG1ZQ!125.entry
    posted @ 2005-12-23 15:13 zzzhc 閱讀(1033) | 評論 (0)編輯 收藏
     
    apache(2.0.55) rewrite+proxy 至少需要三個module: rewrite_module, proxy_module, proxy_http_module 配置文件片斷: LoadModule rewrite_module modules/mod_rewrite.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/proxy_http.so rewriteengine on #注意 不是proxyrequest proxyrequests on #ProxyPass ^/(.*)$ http://host/$1 rewriterule ^/(.*)$ http://host/$1 [P,L] apache已安裝后要新添加module可以用apache安裝目錄/bin下的apxs ,apxs -i -a –c foo_module.c 參考資料: apxs - APache擴(kuò)展工具 http://www.uplinux.com/download/doc/apache/ApacheManual/programs/apxs.html Apache 重寫規(guī)則的常見應(yīng)用 (rewrite) http://fanqiang.chinaunix.net/a6/b1/20010905/0800001238.html

    文章來源:http://spaces.msn.com/members/zzzhc/Blog/cns!1pPbKg7hHgS7AKKQm6CWG1ZQ!128.entry
    posted @ 2005-12-23 15:13 zzzhc 閱讀(389) | 評論 (0)編輯 收藏
     
     
    對于簡單的圖形驗(yàn)證碼(字體規(guī)則,沒有雜點(diǎn)或雜點(diǎn)容易過濾掉),用模板匹配的方式可以比較容易地識別出來.
    0.圖片黑白化,用1表示有字的像素,0表示無字的像素
    1.字塊分隔,將圖片分隔成只包含成單字的最小塊
    2.生成模板,將字塊與字符關(guān)聯(lián)
    3.識別,將新圖片分塊并與模板匹配
    java(jdk1.5)實(shí)現(xiàn):
    //先運(yùn)行TemplateCreator創(chuàng)建模板,再運(yùn)行Recognize2識別
    //圖片數(shù)據(jù)表示,也用來表示字塊
    package pay365;
    import java.awt.image.BufferedImage;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Iterator;
    public class ImageData {
        public int[][] data;
        public int w;
        public int h;
        public char code;
       
        public ImageData() {
        }
       
        public ImageData(BufferedImage bi) {
            this(bi,new WhiteFilter());
        }
        public ImageData(BufferedImage bi,Filter filter) {
            h = bi.getHeight();
            w = bi.getWidth();
            data = new int[h][w];
            for (int i = 0; i < h; i++) {
                for (int j = 0; j < w; j++) {
                    int p = bi.getRGB(j, i);
                    data[i][j] = p;
                }
            }
            filter.doFilter(data);
        }
        public ImageData[] split() {
            ArrayList list = new ArrayList();
            ImageIterator ite = new ImageIterator(this);
            while (ite.hasNext()) {
                list.add(ite.next());
            }
            return (ImageData[]) list.toArray(new ImageData[0]);
        }
        int skipEmpty(int begin, boolean isX, int value) {
            if (isX) {
                for (int i = begin; i < w; i++) {
                    for (int j = 0; j < h; j++) {
                        if (data[j][i] != value) {
                            return i;
                        }
                    }
                }
                return -1;
            } else {
                for (int i = begin; i < h; i++) {
                    for (int j = 0; j < w; j++) {
                        if (data[i][j] != value) {
                            return i;
                        }
                    }
                }
                return -1;
            }
        }
        int skipEntity(int begin, boolean isX, int value) {
            if (isX) {
                for (int i = begin; i < w; i++) {
                    for (int j = 0; j < h; j++) {
                        if (data[j][i] == value) {
                            break;
                        }
                        if (j == h - 1)
                            return i;
                    }
                }
                return -1;
            } else {
                for (int i = begin; i < h; i++) {
                    for (int j = 0; j < w; j++) {
                        if (data[i][j] == value) {
                            break;
                        }
                        if (j == w - 1)
                            return i;
                    }
                }
                return -1;
            }
        }
        class ImageIterator implements Iterator {
            int x;
            ImageData ia;
            ImageData next;
            public ImageIterator(ImageData ia) {
                this.ia = ia;
            }
            public boolean hasNext() {
                if (next != null)
                    return true;
                next = getNext();
                return next != null;
            }
            ImageData getNext() {
                int x1 = skipEmpty(x, true, 0);
                if (x1 == -1) {
                    return null;
                }
                int x2 = skipEntity(x1, true, 1);
                if (x2 == -1) {
                    x2 = w;
                }
                x = x2;
                int y1 = skipEmpty(0, false, 0);
                if (y1 == -1)
                    return null;
                int y2 = skipEntity(y1, false, 1);
                if (y2 == -1)
                    y2 = h;
                return ia.clone(x1, y1, x2 - x1, y2 - y1);
            }
            public Object next() {
                ImageData temp = next;
                next = null;
                return temp;
            }
            public void remove() {
            }
        }
        ImageData clone(int x, int y, int w0, int h0) {
            ImageData ia = new ImageData();
            ia.w = w0;
            ia.h = h0;
            ia.data = new int[ia.h][ia.w];
            for (int i = 0; i < h0; i++) {
                for (int j = 0; j < w0; j++) {
                    ia.data[i][j] = data[i + y][j + x];
                }
            }
            return ia;
        }
        public void show() {
            System.out.println();
            for (int i = 0; i < h; i++) {
                for (int j = 0; j < w; j++) {
                    System.out.print((data[i][j] == 1 ? "1" : " ") + "");
                }
                System.out.println();
            }
            System.out.println();
        }
        public int hashCode() {
            int code = w ^ h;
            int count = 0;
            for (int i = 0; i < h; i++) {
                for (int j = 0; j < w; j++) {
                    if (data[i][j] == 1)
                        count++;
                }
            }
            code ^= count;
            return code;
        }
        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (obj instanceof ImageData) {
                ImageData o = (ImageData) obj;
                if (o.h != h)
                    return false;
                if (o.w != w)
                    return false;
                for (int i = 0; i < h; i++) {
                    for (int j = 0; j < w; j++) {
                        if (o.data[i][j] != data[i][j])
                            return false;
                    }
                }
                return true;
            } else {
                return false;
            }
        }
        public static ImageData[] decodeFromFile(String path) throws IOException {
            BufferedReader reader = new BufferedReader(new FileReader(
                    new File(path)));
            String line;
            ArrayList list = new ArrayList();
            while ((line = reader.readLine()) != null) {
                ImageData ia = decode(line);
                if (ia != null) {
                    list.add(ia);
                }
            }
            return (ImageData[]) list.toArray(new ImageData[0]);
        }
        public static ImageData decode(String s) {
            String[] ss = s.split("\\,", 4);
            if (ss.length != 4)
                return null;
            if (ss[0].length() != 1)
                return null;
            ImageData ia = new ImageData();
            ia.code = ss[0].charAt(0);
            ia.w = Integer.parseInt(ss[1]);
            ia.h = Integer.parseInt(ss[2]);
            if (ss[3].length() != ia.w * ia.h) {
                return null;
            }
            ia.data = new int[ia.h][ia.w];
            for (int i = 0; i < ia.h; i++) {
                for (int j = 0; j < ia.w; j++) {
                    if (ss[3].charAt(i * ia.w + j) == '1') {
                        ia.data[i][j] = 1;
                    } else {
                        ia.data[i][j] = 0;
                    }
                }
            }
            return ia;
        }
        public String encode() {
            StringBuffer sb = new StringBuffer();
            sb.append(code).append(",");
            sb.append(w).append(",");
            sb.append(h).append(",");
            for (int i = 0; i < h; i++) {
                for (int j = 0; j < w; j++) {
                    if (data[i][j] == 1) {
                        sb.append('1');
                    } else {
                        sb.append('0');
                    }
                }
            }
            return sb.toString();
        }
    }
    //像素過濾接口
    package pay365;
    public interface Filter {
       
        void doFilter(int[][] data);
    }
    //
    package pay365;
    public abstract class AbstractFilter  implements Filter {
        public void doFilter(int[][] data) {
            int h = data.length;
            if (h<=0)
                return;
            int w = data[0].length;
            if (w<=0)
                return ;
            for(int i=0;i<h;i++) {
                for(int j=0;j<w;j++) {
                    data[i][j] = filter(data[i][j]);
                }
            }
        }
       
        protected abstract int filter(int p);
    }
    //過濾csdn驗(yàn)證碼的過濾器
    package pay365;
    public class CsdnFilter extends AbstractFilter {
        protected int filter(int p) {
            return isNotWhite(p)?1:0;
        }
        private boolean isNotWhite(int p) {
            boolean b = (p & 0x0ff) == 255 && (p >> 8 & 0x0ff) == 255
                    && (p >> 16 & 0xff) == 255;
            return !b;
        }
    }
    //過濾前景色為白色的過濾器
    package pay365;
    public class WhiteFilter extends AbstractFilter {
       
        protected int filter(int p) {
            if (isWhite(p)) {
                return 1;
            }
            else {
                return 0;
            }
        }
        private boolean isWhite(int p) {
            return (p & 0x0ff) > 240 && (p >> 8 & 0x0ff) > 240
                    && (p >> 16 & 0xff) > 240;
        }
    }
    //模板創(chuàng)建類
    package pay365;
    import java.awt.image.BufferedImage;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.URL;
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.Set;
    import javax.imageio.ImageIO;
    public class TemplateCreator {
        /**
         * @param args
         */
        public static void main(String[] args) throws Exception {
            Set set = new HashSet();
           
            String url = "http://passport.csdn.net/member/ShowExPwd.aspx";
            String filterClazz = "pay365.CsdnFilter";
            if (args.length>=1) {
                url = args[0];
            }
            if (args.length>=2) {
                filterClazz = args[1];
            }
            Filter csdnFilter = (Filter) Class.forName(filterClazz).newInstance();
            for (int i = 1; i < 10; i++) {
                URL u = new URL(url);
                BufferedImage bi = ImageIO.read(u);
                ImageData ia2 = new ImageData(bi,csdnFilter);
                ImageData[] ii = ia2.split();
                for (int x = 0; x < ii.length; x++) {
                    ImageData imageArr = ii[x];
                    set.add(imageArr);
                }
                // set.addAll(Arrays.asList(ia2.split()));
            }
            System.out.println(set.size());
            for (Iterator iter = set.iterator(); iter.hasNext();) {
                ImageData ele = (ImageData) iter.next();
                ele.show();
                System.out.print("char:");
                String s = readLine();
                if (s.length() == 1) {
                    ele.code = s.charAt(0);
                }
            }
           
            PrintWriter pw = new PrintWriter(new File("template.data"));
            for (Iterator iter = set.iterator(); iter.hasNext();) {
                ImageData ele = (ImageData) iter.next();
                pw.println(ele.encode());
            }
            pw.flush();
            pw.close();
        }
        private static BufferedReader reader = new BufferedReader(
                new InputStreamReader(System.in));
        private static String readLine() {
            try {
                return reader.readLine();
            } catch (Exception e) {
                e.printStackTrace();
                return "";
            }
        }
    }

    //識別類
    package pay365;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.net.URL;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;
    import javax.imageio.ImageIO;
    public class Recognize2 {
        static Filter filter;
        public static void main(String[] args) throws Exception {
            if (args.length >= 1) {
                url = args[0];
            }
            String filterClazz = "pay365.CsdnFilter";
            if (args.length >= 2) {
                filterClazz = args[1];
            }
            filter = (Filter) Class.forName(filterClazz).newInstance();
            int total = 10;
            int count = 0;
            for (int i = 0; i < total; i++) {
                boolean b = recognize(i);
                if (b)
                    count++;
            }
            System.out.println("rate:" + (count * 1.0 / total * 100) + "%100");
        }
        /**
         * @throws IOException
         */
        private static boolean recognize(int num) throws IOException {
            BufferedImage bi = ImageIO.read(new URL(url));
            ImageIO.write(bi,"png",new File(num+".png"));
            ImageData ia2 = new ImageData(bi, filter);
            ImageData[] ii = ia2.split();
            ArrayList list = new ArrayList();
            ImageData[] template = ImageData.decodeFromFile("template.data");
            HashMap map = new HashMap();
            for (int i = 0; i < template.length; i++) {
                map.put(template[i], new Character(template[i].code));
            }
            for (int x = 0; x < ii.length; x++) {
                ImageData imageArr = ii[x];
                if (imageArr.w > 15)
                    continue;
                Character c = (Character) map.get(imageArr);
                if (c != null) {
                    list.add(c);
                }
            }
            String s = "";
            System.out.print(num + ":");
            for (Iterator iter = list.iterator(); iter.hasNext();) {
                Character c = (Character) iter.next();
                s += c;
                System.out.print(c);
            }
            System.out.println();
            return s.length() != 0;
        }
    }
     

    文章來源:http://spaces.msn.com/members/zzzhc/Blog/cns!1pPbKg7hHgS7AKKQm6CWG1ZQ!129.entry
    posted @ 2005-12-23 15:13 zzzhc 閱讀(984) | 評論 (3)編輯 收藏
    僅列出標(biāo)題  
     
    主站蜘蛛池模板: 激情五月亚洲色图| 成年人免费的视频| 亚洲AV第一成肉网| 337p日本欧洲亚洲大胆色噜噜| 免费大黄网站在线观看| 97人妻无码一区二区精品免费| 在线看片免费人成视频福利| 成人婷婷网色偷偷亚洲男人的天堂| 亚洲毛片无码专区亚洲乱| 亚洲va国产va天堂va久久| 国产成人精品久久亚洲| 免费一级毛片在线观看| 午夜成人免费视频| 日韩精品无码区免费专区| 91成人在线免费视频| 久久国产乱子免费精品| CAOPORN国产精品免费视频| 男女污污污超污视频免费在线看| 亚洲精品无码人妻无码| 亚洲人成自拍网站在线观看 | 亚洲一区二区三区免费| 精品视频免费在线| 无码天堂va亚洲va在线va| 亚洲AV无码AV男人的天堂不卡| 在线综合亚洲中文精品| 亚洲国产亚洲综合在线尤物| 亚洲欧洲精品久久| 亚洲精品熟女国产| 亚洲国产精品久久久久秋霞影院| 亚洲国产精品yw在线观看| 久久精品国产亚洲αv忘忧草| 亚洲av乱码一区二区三区| 亚洲成a人片在线观看精品| 国产成人精品日本亚洲直接| 欧洲 亚洲 国产图片综合| 亚洲熟妇AV一区二区三区宅男| 亚洲一区二区三区成人网站| 亚洲欧美aⅴ在线资源| 亚洲精品色在线网站| 国产精品亚洲av色欲三区| 乱淫片免费影院观看|