精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

微信公號開發(fā)實戰(zhàn)之智能翻譯

移動開發(fā)
本篇文章為大家演示如何在微信公眾帳號上實現(xiàn)“智能翻譯”,本例中翻譯功能是通過調(diào)用“百度翻譯API”實現(xiàn)的。智能翻譯是指用戶任意輸入想要翻譯的內(nèi)容(單詞或句子),系統(tǒng)能自動識別用戶采用的語言,并將其翻譯為其他語言,目前支持的翻譯方向:中->英、英->中和日->中。

本篇文章為大家演示如何在微信公眾帳號上實現(xiàn)“智能翻譯”,本例中翻譯功能是通過調(diào)用“百度翻譯API”實現(xiàn)的。智能翻譯是指用戶任意輸入想要翻譯的內(nèi)容(單詞或句子),系統(tǒng)能自動識別用戶采用的語言,并將其翻譯為其他語言,目前支持的翻譯方向:中->英、英->中和日->中。下面我們來看看智能翻譯最終做出來的效果:

 

我們通過輸入關(guān)鍵詞“翻譯”或者點擊菜單“翻譯”能夠看到該功能的使用幫助,然后輸入“翻譯+內(nèi)容”就能對內(nèi)容進(jìn)行翻譯了。

百度翻譯API介紹

點擊查看百度翻譯API使用說明,其實這份文檔已經(jīng)說的很詳細(xì)了,筆者只是將我們調(diào)用該接口時最關(guān)心的內(nèi)容摘取出來,主要如下:

1)通過發(fā)送HTTP GET請求調(diào)用百度翻譯API。

2)百度翻譯API請求地址:

  1. http://openapi.baidu.com/public/2.0/bmt/translate 

3)調(diào)用API需要傳遞from、to、client_id和q四個參數(shù),描述如下:

key value 描述
from 源語言語種:語言代碼或auto 僅支持特定的語言組合,下面會單獨(dú)進(jìn)行說明
to 目標(biāo)語言語種:語言代碼或auto 僅支持特定的語言組合,下面會單獨(dú)進(jìn)行說明
client_id 開發(fā)者在百度連接平臺上注冊得到的授權(quán)API key 請閱讀如何獲取api key
q 待翻譯內(nèi)容 該字段必須為UTF-8編碼,并且以GET方式調(diào)用API時,需要進(jìn)行urlencode編碼。

在調(diào)用接口前,我們要先獲取到api key。獲取方式比較簡單,根據(jù)提示一步步操作就可以,筆者就不再贅述了。
4)對于智能翻譯,參數(shù)from和to的傳都是auto。
4)參數(shù)q的編碼方式為UTF-8,傳遞之前要進(jìn)行urlencode編碼。

5)接口返回結(jié)果示例如下:

  1. {"from":"en","to":"zh","trans_result":[{"src":"today","dst":"\u4eca\u5929"}]} 

返回結(jié)果里的中文是unicode編碼,需要通過json_decode進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換后的示例如下:

  1.     "from""en"
  2.     "to""zh"
  3.     "trans_result": [ 
  4.         { 
  5.             "src""today"
  6.             "dst""今天" 
  7.         }, 
  8.         { 
  9.             "src""tomorrow"
  10.             "dst""明天" 
  11.         } 
  12.     ] 

JSON處理工具包Gson介紹

Gson是Google提供的用于在Java對象和JSON數(shù)據(jù)之間進(jìn)行轉(zhuǎn)換的Java類庫。通過使用Gson類庫,我們可以將JSON字符串轉(zhuǎn)成Java對象,反之亦然。下載地址:https://code.google.com/p/google-gson/downloads/list,Gson的使用比較簡單,直接調(diào)用它的方法toJson()或fromJson()就能完成相應(yīng)的轉(zhuǎn)換,但需要注意的是:在使用Gson將json字符串轉(zhuǎn)換成Java對象之前,需要先創(chuàng)建好與目標(biāo)Java對象。讀者可以在維基百科上學(xué)習(xí)它的使用示例http://zh.wikipedia.org/wiki/Gson

代碼實現(xiàn)

1)創(chuàng)建與百度翻譯API返回的JSON相對應(yīng)的Java類

  1. import java.util.List; 
  2.  
  3. /** 
  4.  * 調(diào)用百度翻譯api查詢結(jié)果 
  5.  *  
  6.  * @author liufeng 
  7.  * @date 2013-10-21 
  8.  */ 
  9. public class TranslateResult { 
  10.     // 實際采用的源語言 
  11.     private String from; 
  12.     // 實際采用的目標(biāo)語言 
  13.     private String to; 
  14.     // 結(jié)果體 
  15.     private List<ResultPair> trans_result; 
  16.  
  17.     public String getFrom() { 
  18.         return from; 
  19.     } 
  20.  
  21.     public void setFrom(String from) { 
  22.         this.from = from; 
  23.     } 
  24.  
  25.     public String getTo() { 
  26.         return to; 
  27.     } 
  28.  
  29.     public void setTo(String to) { 
  30.         this.to = to; 
  31.     } 
  32.  
  33.     public List<ResultPair> getTrans_result() { 
  34.         return trans_result; 
  35.     } 
  36.  
  37.     public void setTrans_result(List<ResultPair> trans_result) { 
  38.         this.trans_result = trans_result; 
  39.     } 

注意:這里的類名可以任意取,但是成員變量的名字應(yīng)于翻譯API返回的JSON字符串中的屬性名保持一致,否則將JSON轉(zhuǎn)換成TranslateResult對象時會報錯。

TranslateResult類中的trans_result屬性是一個ResultPair集合,該類的代碼如下:

  1. /** 
  2.  * 結(jié)果對 
  3.  *  
  4.  * @author liufeng 
  5.  * @date 2013-10-21 
  6.  */ 
  7. public class ResultPair { 
  8.     // 原文 
  9.     private String src; 
  10.     // 譯文 
  11.     private String dst; 
  12.  
  13.     public String getSrc() { 
  14.         return src; 
  15.     } 
  16.  
  17.     public void setSrc(String src) { 
  18.         this.src = src; 
  19.     } 
  20.  
  21.     public String getDst() { 
  22.         return dst; 
  23.     } 
  24.  
  25.     public void setDst(String dst) { 
  26.         this.dst = dst; 
  27.     } 

說明:這兩個類的封裝是Gson類庫所要求的,如果讀者不是用Gson解析json字符串,而是用JSON-lib,就沒有必要封裝這兩個類。

2)接口調(diào)用

  1. import java.io.BufferedReader; 
  2. import java.io.InputStream; 
  3. import java.io.InputStreamReader; 
  4. import java.io.UnsupportedEncodingException; 
  5. import java.net.HttpURLConnection; 
  6. import java.net.URL; 
  7. import com.google.gson.Gson; 
  8.  
  9. /** 
  10.  *  
  11.  * @author liufeng 
  12.  * @date 2013-10-21 
  13.  */ 
  14. public class BaiduTranslateService { 
  15.     /** 
  16.      * 發(fā)起http請求獲取返回結(jié)果 
  17.      *  
  18.      * @param requestUrl 請求地址 
  19.      * @return 
  20.      */ 
  21.     public static String httpRequest(String requestUrl) { 
  22.         StringBuffer buffer = new StringBuffer(); 
  23.         try { 
  24.             URL url = new URL(requestUrl); 
  25.             HttpURLConnection httpUrlConn = (HttpURLConnection) url.openConnection(); 
  26.  
  27.             httpUrlConn.setDoOutput(false); 
  28.             httpUrlConn.setDoInput(true); 
  29.             httpUrlConn.setUseCaches(false); 
  30.  
  31.             httpUrlConn.setRequestMethod("GET"); 
  32.             httpUrlConn.connect(); 
  33.  
  34.             // 將返回的輸入流轉(zhuǎn)換成字符串 
  35.             InputStream inputStream = httpUrlConn.getInputStream(); 
  36.             InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8"); 
  37.             BufferedReader bufferedReader = new BufferedReader(inputStreamReader); 
  38.  
  39.             String str = null
  40.             while ((str = bufferedReader.readLine()) != null) { 
  41.                 buffer.append(str); 
  42.             } 
  43.             bufferedReader.close(); 
  44.             inputStreamReader.close(); 
  45.             // 釋放資源 
  46.             inputStream.close(); 
  47.             inputStream = null
  48.             httpUrlConn.disconnect(); 
  49.  
  50.         } catch (Exception e) { 
  51.         } 
  52.         return buffer.toString(); 
  53.     } 
  54.  
  55.     /** 
  56.      * utf編碼 
  57.      *  
  58.      * @param source 
  59.      * @return 
  60.      */ 
  61.     public static String urlEncodeUTF8(String source) { 
  62.         String result = source; 
  63.         try { 
  64.             result = java.net.URLEncoder.encode(source, "utf-8"); 
  65.         } catch (UnsupportedEncodingException e) { 
  66.             e.printStackTrace(); 
  67.         } 
  68.         return result; 
  69.     } 
  70.  
  71.     /** 
  72.      * 翻譯(中->英 英->中 日->中 ) 
  73.      *  
  74.      * @param source 
  75.      * @return 
  76.      */ 
  77.     public static String translate(String source) { 
  78.         String dst = null
  79.  
  80.         // 組裝查詢地址 
  81.         String requestUrl = "http://openapi.baidu.com/public/2.0/bmt/translate?client_id=AAAAAAAAAAAAAAAAAAAAAAAA&q={keyWord}&from=auto&to=auto"
  82.         // 對參數(shù)q的值進(jìn)行urlEncode utf-8編碼 
  83.         requestUrl = requestUrl.replace("{keyWord}", urlEncodeUTF8(source)); 
  84.  
  85.         // 查詢并解析結(jié)果 
  86.         try { 
  87.             // 查詢并獲取返回結(jié)果 
  88.             String json = httpRequest(requestUrl); 
  89.             // 通過Gson工具將json轉(zhuǎn)換成TranslateResult對象 
  90.             TranslateResult translateResult = new Gson().fromJson(json, TranslateResult.class); 
  91.             // 取出translateResult中的譯文 
  92.             dst = translateResult.getTrans_result().get(0).getDst(); 
  93.         } catch (Exception e) { 
  94.             e.printStackTrace(); 
  95.         } 
  96.  
  97.         if (null == dst) 
  98.             dst = "翻譯系統(tǒng)異常,請稍候嘗試!"
  99.         return dst; 
  100.     } 
  101.  
  102.     public static void main(String[] args) { 
  103.         // 翻譯結(jié)果:The network really powerful 
  104.         System.out.println(translate("網(wǎng)絡(luò)真強(qiáng)大")); 
  105.     } 

代碼解讀:

1)第21-53行封裝了一個http請求方法httpRequest(),相信讀過之前教程的讀者已經(jīng)很熟悉了。

2)第61-69行封裝了一個urlEncodeUTF8()方法,用于對url中的參數(shù)進(jìn)行UTF-8編碼。

3)第81行代碼中的client_id需要替換成自己申請的api key。

4)第83行代碼是對url中的中文進(jìn)行編碼。以后凡是遇到通過url傳遞中文參數(shù)的情況,一定要顯示地對中文進(jìn)行編碼,否則很可能出現(xiàn)程序在本機(jī)能正常運(yùn)行,但部署到服務(wù)器上卻有問題,因為本機(jī)與服務(wù)器的默認(rèn)編碼方式可能不一樣。

5)第88行代碼就是調(diào)用百度翻譯API。

6)第90行代碼是使用Gson工具將json字符串轉(zhuǎn)換成TranslateResult對象,是不是發(fā)現(xiàn)Gson的使用真的很簡單?另外,前面提到過調(diào)用百度翻譯API返回的json里如果有中文是用unicode表示的,形如“\u4eca\u5929”,那為什么這里沒有做任何處理?因為Gson的內(nèi)部實現(xiàn)已經(jīng)幫我們搞定了。

公眾賬號后臺調(diào)用

在公眾賬號后臺,需要對接收到的文本消息進(jìn)行判斷,如果是以“翻譯”兩個字開頭的,就認(rèn)為是在使用智能翻譯功能,然后將“翻譯”兩個字之后的內(nèi)容作為翻譯對象,調(diào)用API進(jìn)行翻譯;如果輸入的只有“翻譯”兩個字,就提示智能翻譯功能的使用指南。關(guān)鍵代碼如下:

  1. // 文本消息  
  2. if (WeixinUtil.REQ_MESSAGE_TYPE_TEXT.equals(msgType)) { 
  3.     String content = requestMap.get("Content").trim(); 
  4.     if (content.startsWith("翻譯")) { 
  5.         String keyWord = content.replaceAll("^翻譯""").trim(); 
  6.         if ("".equals(keyWord)) { 
  7.             textMessage.setContent(getTranslateUsage()); 
  8.         } else { 
  9.             textMessage.setContent(BaiduTranslateService.translate(keyWord)); 
  10.         } 
  11.         out.print(WeixinUtil.textMessageToXml(textMessage)); 
  12.     } 

第7行g(shù)etTranslateUsage()方法得到的就是智能翻譯功能的使用指南,代碼如下:

  1. /** 
  2.  * Q譯通使用指南 
  3.  *  
  4.  * @return 
  5.  */ 
  6. public static String getTranslateUsage() { 
  7.     StringBuffer buffer = new StringBuffer(); 
  8.     buffer.append(XiaoqUtil.emoji(0xe148)).append("Q譯通使用指南").append("\n\n"); 
  9.     buffer.append("Q譯通為用戶提供專業(yè)的多語言翻譯服務(wù),目前支持以下翻譯方向:").append("\n"); 
  10.     buffer.append("    中 -> 英").append("\n"); 
  11.     buffer.append("    英 -> 中").append("\n"); 
  12.     buffer.append("    日 -> 中").append("\n\n"); 
  13.     buffer.append("使用示例:").append("\n"); 
  14.     buffer.append("    翻譯我是中國人").append("\n"); 
  15.     buffer.append("    翻譯dream").append("\n"); 
  16.     buffer.append("    翻譯さようなら").append("\n\n"); 
  17.     buffer.append("回復(fù)“?”顯示主菜單"); 
  18.     return buffer.toString(); 

說明:希望通過本例的學(xué)習(xí),除了掌握百度翻譯API的調(diào)用之外,讀者還能夠掌握json字符串的解析方法,這樣就能夠自己學(xué)會調(diào)用更多互聯(lián)網(wǎng)上開放的接口。

責(zé)任編輯:徐川 來源: blog
相關(guān)推薦

2013-11-13 01:19:18

2013-11-13 00:51:22

微信微信公號微信公眾賬號

2013-11-13 00:37:12

微信微信公號微信公眾賬號

2013-11-13 00:14:16

微信微信公號微信公眾賬號

2013-11-13 00:20:01

微信微信公號微信公眾賬號

2013-11-12 23:32:53

微信公號微信公眾賬號

2014-09-24 11:32:21

微信企業(yè)號開發(fā)

2014-09-24 09:59:23

微信企業(yè)號開發(fā)

2014-09-24 11:11:08

微信企業(yè)號開發(fā)

2014-09-24 10:29:14

微信企業(yè)號開發(fā)

2014-09-24 11:04:31

微信企業(yè)號開發(fā)

2014-09-24 11:45:15

微信企業(yè)號開發(fā)

2013-04-10 17:52:15

微信公眾平臺接口開發(fā)

2014-09-28 22:26:11

微信企業(yè)號

2014-09-24 11:47:41

微信企業(yè)號開發(fā)

2014-09-24 11:52:37

微信企業(yè)號開發(fā)

2014-09-28 22:30:13

微信企業(yè)號

2015-08-24 15:08:50

OpenShiftNode.js微信開發(fā)

2016-09-28 18:10:59

微信程序MINA

2016-09-27 20:36:23

微信HttpWeb
點贊
收藏

51CTO技術(shù)棧公眾號

99re6这里只有精品视频在线观看| 久久精品久久久| 色素色在线综合| 中文字幕乱码一区二区三区| 国产肥老妇视频| 国产深夜精品| 久久精品小视频| 亚洲激情 欧美| 国外成人福利视频| 亚洲成国产人片在线观看| 日韩av电影免费在线| 精品国产av鲁一鲁一区| 噜噜噜躁狠狠躁狠狠精品视频| 精品国产美女在线| 黄色a一级视频| 麻豆精品国产| 欧美午夜不卡在线观看免费| 大伊香蕉精品视频在线| 午夜激情视频在线| 99re视频精品| 亚洲自拍另类欧美丝袜| 青娱乐在线免费视频| 精品99视频| 久久精品国产一区| 亚洲第一视频区| 欧美激情99| 91精品蜜臀在线一区尤物| 超碰97人人射妻| 国产丝袜精品丝袜| 亚洲人成网站在线| 麻豆成人av| 深夜福利视频网站| 国产成人免费视频网站高清观看视频| 国产精品高潮呻吟久久av黑人| 国产无精乱码一区二区三区| 午夜影院欧美| 日韩视频免费大全中文字幕| 精品无码人妻一区二区免费蜜桃 | 91精品久久久久久久久久久| 国产www在线| 亚洲精品男同| 久久久久国产视频| 久久久久久久久久99| 亚洲精品久久久| 日韩在线免费观看视频| 免费看的黄色网| 九九久久电影| 亚洲免费影视第一页| 最近日本中文字幕| 日韩精品免费一区二区夜夜嗨| 精品国产乱码久久久久久闺蜜 | 日韩在线视频不卡| 国产精品综合| 日本午夜精品理论片a级appf发布| 国产欧美日韩另类| 国产精品视频久久一区| 2018日韩中文字幕| 国产一级淫片a视频免费观看| 国产欧美成人| 国产成人精品在线播放| 国产99免费视频| 美女视频网站黄色亚洲| 国产精品天天狠天天看| 一卡二卡三卡在线| 久久精品国产99久久6| 成人精品久久av网站| 国产精品怡红院| 国产成人免费视| 狠狠色综合一区二区| 欧美一区二区公司| 26uuu亚洲婷婷狠狠天堂| 秋霞久久久久久一区二区| 91porn在线观看| 亚洲精品高清在线| 东北少妇不带套对白| 色偷偷偷在线视频播放| 欧洲视频一区二区| 久久综合在线观看| 国产色噜噜噜91在线精品| 日韩高清av在线| 久久久国产一级片| 欧美欧美天天天天操| 97精品国产97久久久久久免费| 一级黄色av片| 韩国欧美国产1区| 韩日午夜在线资源一区二区| 蜜桃免费在线| 亚洲男人的天堂在线aⅴ视频| 东北少妇不带套对白| 精品成人av| 91精品国产手机| 中文字幕 亚洲一区| 日韩激情图片| 欧美精品www在线观看| 久久青青草原亚洲av无码麻豆| 久久国产人妖系列| 狠狠色狠狠色综合人人| 免费人成在线观看播放视频| 亚洲高清视频中文字幕| 性刺激的欧美三级视频| 波多野结衣在线一区二区| 亚洲图片制服诱惑| 国产亚洲精品女人久久久久久| 久热综合在线亚洲精品| 97视频资源在线观看| 国产系列电影在线播放网址| 亚洲黄色片在线观看| 黄色国产小视频| 成人动态视频| 操日韩av在线电影| а中文在线天堂| 成人午夜免费电影| 影音先锋欧美在线| 中文字幕在线看片| 精品国产人成亚洲区| 成人在线观看高清| 老牛嫩草一区二区三区日本| 国产精品久久亚洲| 美女隐私在线观看| 在线免费视频一区二区| 国产精品久久无码| 欧美精品一卡| 91在线|亚洲| 午夜视频在线看| 色呦呦网站一区| 99re这里只有| 激情av一区| 91在线免费看网站| 在线国产情侣| 欧美日韩一区国产| 性欧美精品中出| 美女精品在线| 欧美日韩高清免费| 国产精品vvv| 精品剧情在线观看| 免费三片在线播放| 国产成人在线色| 一级黄色片播放| 欧美高清一级片| 欧美另类xxx| 国产高清第一页| 亚洲靠逼com| 手机看片国产精品| 牛夜精品久久久久久久99黑人| 懂色aⅴ精品一区二区三区蜜月| 中文字幕天天干| 成人动漫免费在线观看| 国产精品成人免费电影| 国内精品一区视频| 91福利在线看| 永久免费毛片在线观看| 美腿丝袜亚洲三区| 亚洲一区二区精品在线| 巨大黑人极品videos精品| 在线日韩第一页| 亚洲在线精品视频| 中文字幕在线一区二区三区| 亚洲激情在线看| 一区二区三区在线| 91gao视频| 福利写真视频网站在线| 亚洲成人精品av| 亚洲男人的天堂在线视频| 久久久久国产精品麻豆ai换脸 | chinese全程对白| 精品无人区卡一卡二卡三乱码免费卡| 中文字幕一区二区三区乱码| 精品视频在线播放一区二区三区| 欧美日韩国产成人在线| 嫩草影院一区二区| 欧美性猛交xxxx偷拍洗澡| 久久久久亚洲av无码a片| 麻豆精品蜜桃视频网站| 免费在线精品视频| 成人台湾亚洲精品一区二区| 欧美在线激情视频| 午夜激情视频在线观看| 欧美videossexotv100| 免费在线观看黄网站| 国产视频视频一区| 欧洲在线免费视频| 99亚洲精品| 四虎一区二区| 一区二区三区四区精品视频| 日本高清不卡在线| 成人在线播放| 国产丝袜一区二区三区免费视频| 亚洲午夜无码久久久久| 亚洲黄色在线视频| 成人黄色免费网址| 国产99精品在线观看| www.四虎成人| 自拍日韩欧美| 欧美日韩亚洲在线| 精品一区二区三区在线观看视频| 欧美性在线视频| a天堂中文在线官网在线| 亚洲精品视频免费在线观看| 国产一区二区小视频| 午夜精品福利一区二区蜜股av| 三区四区在线观看| www.成人网.com| 午夜免费一级片| 久久一区国产| 免费一级特黄毛片| 久久精品一区二区不卡| 免费看污久久久| 91精品丝袜国产高跟在线| 国产suv精品一区二区三区88区| aa在线视频| 在线精品视频视频中文字幕| 少妇又色又爽又黄的视频| 在线播放日韩导航| 波多野结衣小视频| 精品magnet| 久久免费少妇高潮99精品| 国产精品久久久久久久久免费桃花 | 国产一区二区三区久久悠悠色av| 日本a级片免费观看| 综合一区av| 亚洲欧洲国产日韩精品| 九色精品国产蝌蚪| 精品欧美一区二区久久久伦| 久久中文字幕一区二区| 国产精品视频一区国模私拍| 欧美私密网站| 久久久久久久一区二区三区| a级片国产精品自在拍在线播放| 亚洲人成自拍网站| 天天色综合久久| 欧美精品一区男女天堂| 午夜久久久久久久久久| 91精品国产美女浴室洗澡无遮挡| 中文字幕 国产| 欧美在线观看视频一区二区三区 | 婷婷色在线资源| 久热精品视频在线观看一区| 日韩伦理在线观看| 中文字幕欧美日韩精品| 国产日产精品久久久久久婷婷| 精品视频在线播放| 欧美一区二区少妇| 亚洲视频电影图片偷拍一区| 国产美女视频一区二区三区| 国产亚洲xxx| 电影av在线| 中文字幕久精品免费视频| 亚洲欧美视频一区二区| www国产精品com| jizz性欧美| 欧美国产日韩在线| 丁香影院在线| 欧洲美女7788成人免费视频| 成人性生活av| 国产精品吊钟奶在线| 欧美另类激情| 亚洲在线观看视频网站| 成人激情自拍| 欧美综合激情| 久久视频在线| 狠狠干视频网站| 日韩午夜在线电影| 欧美在线观看视频网站| 蜜臀久久99精品久久久久久9| 亚洲理论中文字幕| 国产 欧美在线| 一道本在线观看| 亚洲三级在线免费| 久久久久久久久久久97| 黄色一区二区在线观看| 中文字幕免费高清网站| 日韩一区二区在线免费观看| 欧洲成人一区二区三区| 亚洲人成在线观| caopen在线视频| 欧美亚洲另类在线| 美女久久久久久| 国产精品视频福利| 欧美精品一区二区三区中文字幕| 五月天av影院| 国产日韩一区| 国产免费中文字幕| 99在线精品观看| 99精品欧美一区二区| 亚洲精品成人在线| 一级一片免费看| 日韩欧美中文一区二区| 久久电影视频| 欧美日韩国产第一页| 欧美人与性动交xxⅹxx| 91在线免费看片| 精品国产美女| 日韩精品一区二区免费| 日韩精品欧美成人高清一区二区| 亚洲一区二区三区四区精品| 91免费看视频| 欧美黑人一级片| 欧美日韩午夜影院| 四虎精品一区二区三区| 日韩色av导航| 日本.亚洲电影| 国产欧美一区二区视频| 国产精品福利在线观看播放| 日本国产在线播放| 国产乱码精品一区二区三区忘忧草 | 美女国内精品自产拍在线播放| 免费观看欧美大片| 91成人免费视频| 日韩精品首页| 黑人糟蹋人妻hd中文字幕| 国产999精品久久久久久绿帽| 成人信息集中地| 色综合天天视频在线观看| 亚洲AV午夜精品| 久久精品国产亚洲精品2020| 日韩三区免费| 久久久久资源| 在线日韩视频| 亚洲午夜精品在线观看| 中文字幕一区二区三区不卡 | 亚洲在线视频| 亚洲一二三四五| 亚洲日本韩国一区| 91禁在线观看| 色悠悠久久久久| 成人国产激情| 欧洲亚洲一区| 久久性天堂网| 中文字幕丰满乱子伦无码专区| 亚洲第一在线综合网站| а√天堂资源在线| 久久久91精品国产| 亚洲人体在线| 一区二区在线高清视频| 麻豆91精品视频| 青青青视频在线免费观看| 欧美在线你懂得| 懂色av中文在线| 国产精品中文字幕在线观看| 精品视频国产| 午夜欧美福利视频| 中文字幕乱码一区二区免费| 欧美人一级淫片a免费播放| 亚洲欧美中文字幕| 亚洲伦乱视频| 亚洲国产精品日韩| 九色|91porny| 在线观看成人毛片| 日韩欧美一区二区三区在线| 欧美精品videossex少妇| 国产 高清 精品 在线 a| 尤物在线精品| 特级西西人体4444xxxx| 色香蕉久久蜜桃| av在线资源网| 96国产粉嫩美女| 国产一区清纯| 欧美精品欧美极品欧美激情| 色妞www精品视频| 98在线视频| 91在线观看免费高清| 国产精品99免费看| 国产伦精品一区二区三区精品| 精品成人在线视频| 国产视频二区在线观看| 91精品国产自产在线老师啪| 午夜亚洲福利| 男男做爰猛烈叫床爽爽小说| 一本大道久久精品懂色aⅴ| 999在线视频| yy111111少妇影院日韩夜片| 亚洲深爱激情| 久久精品在线观看视频| 日韩亚洲国产中文字幕欧美| 欧美aaaaa性bbbbb小妇| 色综合电影网| 国产ts人妖一区二区| 中文字幕第四页| www日韩中文字幕在线看| 国内自拍欧美| wwww.国产| 亚洲国产成人91porn| 亚洲一区二区三区乱码aⅴ| 韩国三级大全久久网站| 日本福利视频一区| 国产欧美一区二区精品婷婷| 国产模特av私拍大尺度| 久久久久中文字幕| 人人狠狠综合久久亚洲婷婷| xxxx视频在线观看| 在线精品视频免费观看| 污视频在线免费观看网站| 欧美精品123| 国产精品一区在线观看你懂的| 中文字幕亚洲高清| 不卡伊人av在线播放| 成人黄色小视频| 亚洲综合自拍网| 欧美一级黄色录像| www.精品国产|