精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

欧美一区二不卡视频| 久久精品www| 色综合视频一区二区三区日韩| 国产精品成人一区二区三区夜夜夜| 成人写真视频福利网| 久久久久99精品成人片毛片| 天天躁日日躁狠狠躁欧美巨大小说 | 久久久久久美女精品| 日韩一级免费观看| 成人在线观看黄| 伊人影院在线视频| 国产欧美精品国产国产专区| 99久久综合狠狠综合久久止| 最近免费中文字幕大全免费版视频| 久久精品亚洲欧美日韩精品中文字幕| 精品福利一区二区三区| 一本岛在线视频| 毛片在线网站| 亚洲免费三区一区二区| 中文字幕国产亚洲| 欧美在线观看视频网站| 日韩精品分区| 国产精品素人视频| 久久er99热精品一区二区三区| 欧美大片免费观看| 91亚洲一线产区二线产区 | 欧美在线观看一区二区三区| 欧美性生给视频| 欧美人成在线观看ccc36| 岛国av一区二区| 日韩成人手机在线| 欧美成人三区| 国产欧美日韩在线视频| 国产一区二区三区四区hd| 国产麻豆免费观看| 日本特黄久久久高潮| 欧美做受高潮电影o| 国产一级性生活| 欧美三级在线| 欧美精品在线看| 欧美激情精品久久久久久免费 | 亚洲天堂影视av| 国产a级黄色片| 999久久久精品一区二区| 在线不卡免费av| 毛片毛片毛片毛| 91成人精品观看| 欧美性三三影院| 国产av人人夜夜澡人人爽| 亚洲国产成人二区| 岛国av一区二区三区| 日日橹狠狠爱欧美超碰| 亚洲精品88| 欧美午夜视频一区二区| 男人操女人逼免费视频| 亚洲女色av| 黑人巨大精品欧美一区二区免费| av黄色在线网站| 成人av三级| 日本韩国欧美三级| 国产又大又黄又粗的视频| 青青热久免费精品视频在线18| 色又黄又爽网站www久久| 国产精品久久久久9999小说| 户外露出一区二区三区| 欧美日韩成人综合天天影院| 91在线第一页| 97品白浆高清久久久久久| 亚洲成人精品视频在线观看| 在线观看国产免费视频| 网曝91综合精品门事件在线| 亚洲少妇激情视频| 极品久久久久久久| 亚洲大全视频| 国语自产在线不卡| 波多野结衣啪啪| 久久国产精品99久久久久久老狼| 国产欧洲精品视频| www日本在线| 99re这里只有精品视频首页| 欧美日韩一区二区视频在线| 婷婷成人激情| 亚洲一区中文日韩| 欧美成人免费高清视频| 四虎精品永久免费| 日韩欧美国产精品一区| 熟妇高潮精品一区二区三区| 日韩精品欧美激情一区二区| 欧美大尺度在线观看| 五月天综合在线| 日韩精品欧美精品| 97人人干人人| 国产免费av高清在线| 亚洲精品自拍动漫在线| 男人揉女人奶房视频60分| 欧美成人福利| 亚洲国产另类久久精品| 精品一区二区三区蜜桃在线| 欧美一区视频| 国产精品99久久久久久久久| 国产乱色精品成人免费视频| 久久综合九色欧美综合狠狠| 吴梦梦av在线| 日本免费一区二区三区四区| 日韩一级免费一区| 国产又大又粗又爽的毛片| 欧美日韩综合| 国产日韩精品视频| 日本一区高清| 亚洲国产美女搞黄色| 国产wwwxx| 三级小说欧洲区亚洲区| 欧美久久久精品| 在线观看中文字幕2021| 99久久99久久精品国产片果冻| 一区二区三区电影| 亚洲黄色中文字幕| 精品国产一区二区三区久久久蜜月| 国产小视频自拍| 99国产精品视频免费观看一公开| 成人精品福利视频| 成人亚洲性情网站www在线观看| 亚洲一级不卡视频| 91看片破解版| 欧美激情理论| 国产91在线播放| 婷婷伊人综合中文字幕| 樱桃视频在线观看一区| 狠狠操狠狠干视频| 欧美日韩激情| 日本一本a高清免费不卡| 丰满人妻一区二区三区免费视频 | 国产伦精品一区二区三区免费 | 成人免费高清| 欧美四级电影在线观看| 亚洲熟妇无码av| 国产日韩欧美一区| 国产一区二区中文字幕免费看| 哥也色在线视频| 884aa四虎影成人精品一区| 性少妇xx生活| 美女网站色91| 亚洲午夜精品久久久中文影院av| 日本成人片在线| 亚洲片在线资源| av黄色在线播放| 91网站最新网址| a在线视频观看| 丝袜久久网站| 38少妇精品导航| 奇米影视888狠狠狠777不卡| 好吊成人免视频| 日韩精品电影一区二区| 久久中文字幕一区二区三区| 欧美黄色直播| 日本精品裸体写真集在线观看| 国产午夜精品免费一区二区三区 | 久久香蕉精品| 日日骚一区二区网站| 456成人影院在线观看| 国产一区二区三区在线看| 亚洲欧美另类在线视频| 国产视频一区二区在线| 国产3p在线播放| 91精品国产成人观看| 亚洲一区久久久| 99热99re6国产在线播放| 精品一区电影国产| 91在线视频免费播放| 国产精品三级av在线播放| 在线观看国产一级片| 欧美a级一区| 国产精品10p综合二区| 极品av在线| 一本色道久久综合狠狠躁篇怎么玩| 中文字幕 亚洲视频| 日韩一区有码在线| 极品白嫩的小少妇| 日韩亚洲国产精品| 日韩福利视频| 国产一区二区久久久久| 国内伊人久久久久久网站视频| 国产在线视频福利| 91精品免费观看| 在线观看精品国产| 国产精品美日韩| 午夜视频在线观看国产| 日韩电影在线观看一区| 异国色恋浪漫潭| 天海翼亚洲一区二区三区| 国产日本欧美一区二区三区在线 | 国产精品自拍视频| 麻豆福利在线观看| 国产亚洲精品久久| www.狠狠干| 91成人在线精品| 特级片在线观看| 国产亚洲一区二区三区| 国产sm在线观看| 日韩电影在线一区| 国产自产在线视频| 久久在线视频| 久久久一本精品99久久精品| 亚洲精品毛片| 青青久久av北条麻妃海外网| 麻豆传媒在线免费看| 亚洲国产精品一区二区久| 国产精品热久久| 91黄视频在线| 国产无人区码熟妇毛片多| 日韩一区有码在线| 最新中文字幕av| 91视视频在线直接观看在线看网页在线看| 亚洲欧美aaa| 天堂成人免费av电影一区| 亚洲精品蜜桃久久久久久| 91亚洲国产高清| 秋霞在线观看一区二区三区 | 欧美一区1区三区3区公司| 亚洲日本一区二区三区在线| 国产精品午夜视频| 蜜臀国产一区| 91sa在线看| av影视在线看| 欧美激情中文网| 二区三区在线观看| 久久精品国产2020观看福利| 黄色毛片在线看| 亚洲欧美变态国产另类| 日韩一级在线播放| 精品国产成人在线影院| av手机免费看| 日韩三级中文字幕| 国产成年妇视频| 欧美一级片在线| aaaa一级片| 欧美一区二区三区性视频| 亚洲中文字幕一区二区| 欧美日韩亚洲综合一区二区三区| 国产免费a视频| 欧美在线观看一区| japanese国产在线观看| 色菇凉天天综合网| 色av性av丰满av| 91福利在线播放| 波多野结衣一区二区三区在线| 日韩欧美有码在线| 天天射天天干天天| 欧美少妇xxx| 亚洲一级特黄毛片| 91精品国产综合久久久久| 国产精品一级视频| 日韩精品一区二区三区四区视频 | 97超碰欧美中文字幕| 国产人妻黑人一区二区三区| 成人av资源站| 人妻丰满熟妇av无码久久洗澡 | 精品国产欧美日韩不卡在线观看| 国产精品成人一区二区艾草| 少妇高潮在线观看| 亚洲激情中文1区| 久久久精品国产sm调教| 亚洲成人一区在线| 欧美一级片免费在线观看| 精品magnet| 69av视频在线观看| 在线播放中文字幕一区| 精品国产一级片| 亚洲精品久久久久| 国产中文字幕在线观看| 日韩在线视频国产| 搞黄网站在线看| 欧美在线免费看| 色综合一区二区日本韩国亚洲| 亚洲自拍偷拍色片视频| 国产精品任我爽爆在线播放| 免费观看成人高| 97视频热人人精品免费| 丁香婷婷综合激情| 久久久久国内| 97人人模人人爽人人澡| www.欧美亚洲| 2017亚洲天堂| 亚洲国产精品久久久久婷婷884| 日日夜夜操视频| 欧美一区二区人人喊爽| 深爱五月激情五月| 自拍偷拍亚洲在线| 99在线视频影院| 国产日韩欧美黄色| 欧洲精品一区| 日本女人高潮视频| 国产精品久久久久9999高清| 在线观看日本一区二区| 成人免费电影视频| 999久久久国产| 亚洲成av人**亚洲成av**| 99re热视频| 亚洲国产精久久久久久久| h视频在线观看免费| 久久免费视频网| 亚洲tv在线| 欧美精品亚洲精品| 亚洲五月婷婷| 欧美视频国产视频| 久久久久久久免费视频了| 国产女片a归国片aa| 欧美午夜电影一区| 五月婷婷六月丁香综合| 欧美成人精品xxx| 福利一区二区三区视频在线观看| 亚洲最大福利网| 999精品一区| caoporn超碰97| 99久久精品国产网站| 超碰在线国产97| 欧美日韩高清一区二区三区| 久久电影中文字幕| 久久免费成人精品视频| 日本少妇精品亚洲第一区| 亚洲精品国产精品久久| 男女精品网站| 欧美黑人欧美精品刺激| 亚洲一区二区三区激情| 国产麻豆91视频| 久久精品国产精品亚洲| 99久久er| 日韩欧美一区二区在线观看 | 性一交一黄一片| 中文字幕在线观看一区| 亚洲精品国产欧美在线观看| 亚洲精品小视频| 国产传媒在线观看| 国产一区二区三区色淫影院 | 三上悠亚在线一区| 国产亚洲va综合人人澡精品| 五月天婷婷久久| 亚洲黄色av女优在线观看| 91破解版在线观看| 国产伦精品一区二区三区在线 | 亚洲午夜影视影院在线观看| 国内老熟妇对白xxxxhd| 欧美成人亚洲成人| av日韩在线免费观看| 欧美三级午夜理伦三级老人| 九九视频精品免费| 中国一级片在线观看| 91精品久久久久久久91蜜桃| 麻豆传媒在线免费看| 亚洲一区二区三区视频| 综合视频在线| 又色又爽又黄18网站| 一区二区免费看| 天天av天天翘| 日本一区二区在线播放| 极品美女一区二区三区| 五月婷婷激情久久| 国产精品久久久久久久久免费樱桃| 中文字幕网址在线| 欧美大胆a视频| 久久悠悠精品综合网| 99热成人精品热久久66| 国产精品免费久久| 99精品在线看| 性日韩欧美在线视频| 要久久爱电视剧全集完整观看| 日韩精品无码一区二区三区免费| 亚洲国产精品成人综合| 国产av无码专区亚洲a∨毛片| 欧美激情一区二区三级高清视频| 精品三级在线观看视频| 午夜免费一区二区| 亚洲免费观看在线观看| 欧美天堂在线视频| 国产成人综合久久| 中文无码久久精品| 成人性生活免费看| 精品视频一区三区九区| 色www永久免费视频首页在线| 久久久久se| 九九视频精品免费| 日韩欧美a级片| 国产一区二区三区丝袜| 亚洲日本va| 中文久久久久久| 亚洲国产成人porn| 91ph在线| 精品国产乱码久久久久| 毛片基地黄久久久久久天堂| 免费日韩在线视频| 亚洲一区二区精品| 成人h动漫精品一区二区器材| 中文字幕在线观看第三页| 亚洲综合色婷婷| 97最新国自产拍视频在线完整在线看| 999国内精品视频在线| 水蜜桃久久夜色精品一区的特点| 欧美黑人一级片| 中文字幕亚洲天堂| 日韩成人av在线资源|