国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

HTTP客戶端連接,選擇HttpClient還是OkHttp?

共 9185字,需瀏覽 19分鐘

 ·

2020-09-14 20:41

作者:何甜甜在嗎?

https://juejin.im/post/6844904040644476941

寫在前面

為什么會(huì)寫這篇文章,起因于和朋友的聊天

img

這又觸及到我的知識盲區(qū)了,首先來一波面向百度學(xué)習(xí),直接根據(jù)關(guān)鍵字 httpclient 和 okhttp 的區(qū)別、性能比較進(jìn)行搜索,沒有找到想要的答案,于是就去 overstackflow 上看看是不是有人問過這個(gè)問題,果然不會(huì)讓你失望的

img

所以從使用、性能、超時(shí)配置方面進(jìn)行比較

使用

HttpClient 和 OkHttp 一般用于調(diào)用其它服務(wù),一般服務(wù)暴露出來的接口都為 http,http 常用請求類型就為 GET、PUT、POST 和 DELETE,因此主要介紹這些請求類型的調(diào)用

HttpClient 使用介紹

使用 HttpClient 發(fā)送請求主要分為一下幾步驟:

  • 創(chuàng)建 CloseableHttpClient 對象或 CloseableHttpAsyncClient 對象,前者同步,后者為異步
  • 創(chuàng)建 Http 請求對象
  • 調(diào)用 execute 方法執(zhí)行請求,如果是異步請求在執(zhí)行之前需調(diào)用 start 方法

創(chuàng)建連接:

CloseableHttpClient?httpClient?=?HttpClientBuilder.create().build();

該連接為同步連接

GET 請求:

@Test
public?void?testGet()?throws?IOException?{
????String?api?=?"/api/files/1";
????String?url?=?String.format("%s%s",?BASE\_URL,?api);
????HttpGet?httpGet?=?new?HttpGet(url);
????CloseableHttpResponse?response?=?httpClient.execute(httpGet);
????System.out.println(EntityUtils.toString(response.getEntity()));
}

使用 HttpGet 表示該連接為 GET 請求,HttpClient 調(diào)用 execute 方法發(fā)送 GET 請求

PUT 請求:

@Test
public?void?testPut()?throws?IOException?{
????String?api?=?"/api/user";
????String?url?=?String.format("%s%s",?BASE\_URL,?api);
????HttpPut?httpPut?=?new?HttpPut(url);
????UserVO?userVO?=?UserVO.builder().name("h2t").id(16L).build();
????httpPut.setHeader("Content-Type",?"application/json;charset=utf8");
????httpPut.setEntity(new?StringEntity(JSONObject.toJSONString(userVO),?"UTF-8"));
????CloseableHttpResponse?response?=?httpClient.execute(httpPut);
????System.out.println(EntityUtils.toString(response.getEntity()));
}

POST 請求:

  • 添加對象
@Test
public?void?testPost()?throws?IOException?{
?String?api?=?"/api/user";
?String?url?=?String.format("%s%s",?BASE\_URL,?api);
?HttpPost?httpPost?=?new?HttpPost(url);
?UserVO?userVO?=?UserVO.builder().name("h2t2").build();
?httpPost.setHeader("Content-Type",?"application/json;charset=utf8");
?httpPost.setEntity(new?StringEntity(JSONObject.toJSONString(userVO),?"UTF-8"));
?CloseableHttpResponse?response?=?httpClient.execute(httpPost);
?System.out.println(EntityUtils.toString(response.getEntity()));
}

該請求是一個(gè)創(chuàng)建對象的請求,需要傳入一個(gè) json 字符串

  • 上傳文件
@Test
public?void?testUpload1()?throws?IOException?{
?String?api?=?"/api/files/1";
?String?url?=?String.format("%s%s",?BASE\_URL,?api);
?HttpPost?httpPost?=?new?HttpPost(url);
?File?file?=?new?File("C:/Users/hetiantian/Desktop/學(xué)習(xí)/docker\_practice.pdf");
?FileBody?fileBody?=?new?FileBody(file);
?MultipartEntityBuilder?builder?=?MultipartEntityBuilder.create();
?builder.setMode(HttpMultipartMode.BROWSER\_COMPATIBLE);
?builder.addPart("file",?fileBody);??//addPart上傳文件
?HttpEntity?entity?=?builder.build();
?httpPost.setEntity(entity);
?CloseableHttpResponse?response?=?httpClient.execute(httpPost);
?System.out.println(EntityUtils.toString(response.getEntity()));
}

通過 addPart 上傳文件

DELETE 請求:

@Test
public?void?testDelete()?throws?IOException?{
????String?api?=?"/api/user/12";
????String?url?=?String.format("%s%s",?BASE\_URL,?api);
????HttpDelete?httpDelete?=?new?HttpDelete(url);
????CloseableHttpResponse?response?=?httpClient.execute(httpDelete);
????System.out.println(EntityUtils.toString(response.getEntity()));
}

請求的取消:

@Test
public?void?testCancel()?throws?IOException?{
????String?api?=?"/api/files/1";
????String?url?=?String.format("%s%s",?BASE\_URL,?api);
????HttpGet?httpGet?=?new?HttpGet(url);
????httpGet.setConfig(requestConfig);??//設(shè)置超時(shí)時(shí)間
????//測試連接的取消

????long?begin?=?System.currentTimeMillis();
????CloseableHttpResponse?response?=?httpClient.execute(httpGet);
????while?(true)?{
????????if?(System.currentTimeMillis()?-?begin?>?1000)?{
??????????httpGet.abort();
??????????System.out.println("task?canceled");
??????????break;
??????}
????}

????System.out.println(EntityUtils.toString(response.getEntity()));
}

調(diào)用 abort 方法取消請求 執(zhí)行結(jié)果:

task?canceled
cost?8098?msc
Disconnected?from?the?target?VM,?address:?'127.0.0.1:60549',?transport:?'socket'

java.net.SocketException:?socket?closed...【省略】

OkHttp 使用

使用 OkHttp 發(fā)送請求主要分為一下幾步驟:

  • 創(chuàng)建 OkHttpClient 對象
  • 創(chuàng)建 Request 對象
  • 將 Request 對象封裝為 Call
  • 通過 Call 來執(zhí)行同步或異步請求,調(diào)用 execute 方法同步執(zhí)行,調(diào)用 enqueue 方法異步執(zhí)行

創(chuàng)建連接:

private?OkHttpClient?client?=?new?OkHttpClient();

GET 請求:

@Test
public?void?testGet()?throws?IOException?{
????String?api?=?"/api/files/1";
????String?url?=?String.format("%s%s",?BASE\_URL,?api);
????Request?request?=?new?Request.Builder()
????????????.url(url)
????????????.get()
????????????.build();
????final?Call?call?=?client.newCall(request);
????Response?response?=?call.execute();
????System.out.println(response.body().string());
}

PUT 請求:

@Test
public?void?testPut()?throws?IOException?{
????String?api?=?"/api/user";
????String?url?=?String.format("%s%s",?BASE\_URL,?api);
????//請求參數(shù)
????UserVO?userVO?=?UserVO.builder().name("h2t").id(11L).build();
????RequestBody?requestBody?=?RequestBody.create(MediaType.parse("application/json;?charset=utf-8"),
????JSONObject.toJSONString(userVO));
????Request?request?=?new?Request.Builder()
????????????.url(url)
????????????.put(requestBody)
????????????.build();
????final?Call?call?=?client.newCall(request);
????Response?response?=?call.execute();
????System.out.println(response.body().string());
}

POST 請求:

  • 添加對象
@Test
public?void?testPost()?throws?IOException?{
?String?api?=?"/api/user";
?String?url?=?String.format("%s%s",?BASE\_URL,?api);
?//請求參數(shù)
?JSONObject?json?=?new?JSONObject();
?json.put("name",?"hetiantian");
?RequestBody?requestBody?=?RequestBody.create(MediaType.parse("application/json;?charset=utf-8"),?????String.valueOf(json));
?Request?request?=?new?Request.Builder()
???.url(url)
???.post(requestBody)?//post請求
?????.build();
?final?Call?call?=?client.newCall(request);
?Response?response?=?call.execute();
?System.out.println(response.body().string());
}
  • 上傳文件
@Test
public?void?testUpload()?throws?IOException?{
?String?api?=?"/api/files/1";
?String?url?=?String.format("%s%s",?BASE\_URL,?api);
?RequestBody?requestBody?=?new?MultipartBody.Builder()
???.setType(MultipartBody.FORM)
???.addFormDataPart("file",?"docker\_practice.pdf",
?????RequestBody.create(MediaType.parse("multipart/form-data"),
???????new?File("C:/Users/hetiantian/Desktop/學(xué)習(xí)/docker\_practice.pdf")))
???.build();
?Request?request?=?new?Request.Builder()
???.url(url)
???.post(requestBody)??//默認(rèn)為GET請求,可以不寫
???.build();
?final?Call?call?=?client.newCall(request);
?Response?response?=?call.execute();
?System.out.println(response.body().string());
}

通過 addFormDataPart 方法模擬表單方式上傳文件

DELETE 請求:

@Test
public?void?testDelete()?throws?IOException?{
??String?url?=?String.format("%s%s",?BASE\_URL,?api);
??//請求參數(shù)
??Request?request?=?new?Request.Builder()
??????????.url(url)
??????????.delete()
??????????.build();
??final?Call?call?=?client.newCall(request);
??Response?response?=?call.execute();
??System.out.println(response.body().string());
}

請求的取消:

@Test
public?void?testCancelSysnc()?throws?IOException?{
????String?api?=?"/api/files/1";
????String?url?=?String.format("%s%s",?BASE\_URL,?api);
????Request?request?=?new?Request.Builder()
????????????.url(url)
????????????.get()
????????????.build();
????final?Call?call?=?client.newCall(request);
????Response?response?=?call.execute();
????long?start?=?System.currentTimeMillis();
????//測試連接的取消
????while?(true)?{
?????????//1分鐘獲取不到結(jié)果就取消請求
????????if?(System.currentTimeMillis()?-?start?>?1000)?{
????????????call.cancel();
????????????System.out.println("task?canceled");
????????????break;
????????}
????}

????System.out.println(response.body().string());
}

調(diào)用 cancel 方法進(jìn)行取消 測試結(jié)果:

task?canceled
cost?9110?msc

java.net.SocketException:?socket?closed...【省略】

小結(jié)

  • OkHttp 使用 build 模式創(chuàng)建對象來的更簡潔一些,并且使用. post/.delete/.put/.get 方法表示請求類型,不需要像 HttpClient 創(chuàng)建 HttpGet、HttpPost 等這些方法來創(chuàng)建請求類型
  • 依賴包上,如果 HttpClient 需要發(fā)送異步請求、實(shí)現(xiàn)文件上傳,需要額外的引入異步請求依賴
?
?<dependency>
??<groupId>org.apache.httpcomponentsgroupId>
??<artifactId>httpmimeartifactId>
??<version>4.5.3version>
?dependency>
?
?<dependency>
??<groupId>org.apache.httpcomponentsgroupId>
??<artifactId>httpasyncclientartifactId>
??<version>4.5.3version>
?dependency>
  • 請求的取消,HttpClient 使用 abort 方法,OkHttp 使用 cancel 方法,都挺簡單的,如果使用的是異步 client,則在拋出異常時(shí)調(diào)用取消請求的方法即可

超時(shí)設(shè)置

HttpClient 超時(shí)設(shè)置:在 HttpClient4.3 + 版本以上,超時(shí)設(shè)置通過 RequestConfig 進(jìn)行設(shè)置

private?CloseableHttpClient?httpClient?=?HttpClientBuilder.create().build();
private?RequestConfig?requestConfig?=??RequestConfig.custom()
????????.setSocketTimeout(60?\*?1000)
????????.setConnectTimeout(60?\*?1000).build();
String?api?=?"/api/files/1";
String?url?=?String.format("%s%s",?BASE\_URL,?api);
HttpGet?httpGet?=?new?HttpGet(url);
httpGet.setConfig(requestConfig);??//設(shè)置超時(shí)時(shí)間

超時(shí)時(shí)間是設(shè)置在請求類型 HttpGet 上,而不是 HttpClient 上

OkHttp 超時(shí)設(shè)置:直接在 OkHttp 上進(jìn)行設(shè)置

private?OkHttpClient?client?=?new?OkHttpClient.Builder()
????????.connectTimeout(60,?TimeUnit.SECONDS)//設(shè)置連接超時(shí)時(shí)間
????????.readTimeout(60,?TimeUnit.SECONDS)//設(shè)置讀取超時(shí)時(shí)間
????????.build();

小結(jié):如果 client 是單例模式,HttpClient 在設(shè)置超時(shí)方面來的更靈活,針對不同請求類型設(shè)置不同的超時(shí)時(shí)間,OkHttp 一旦設(shè)置了超時(shí)時(shí)間,所有請求類型的超時(shí)時(shí)間也就確定

HttpClient 和 OkHttp 性能比較

測試環(huán)境:

  • CPU 六核
  • 內(nèi)存 8G
  • windows10

每種測試用例都測試五次,排除偶然性

client 連接為單例:

img

client 連接不為單例:

img

單例模式下,HttpClient 的響應(yīng)速度要更快一些,單位為毫秒,性能差異相差不大 非單例模式下,OkHttp 的性能更好,HttpClient 創(chuàng)建連接比較耗時(shí),因?yàn)槎鄶?shù)情況下這些資源都會(huì)寫成單例模式,因此圖一的測試結(jié)果更具有參考價(jià)值

總結(jié)

OkHttp 和 HttpClient 在性能和使用上不分伯仲,根據(jù)實(shí)際業(yè)務(wù)選擇即可 最后附:示例代碼:https://github.com/TiantianUpup/http-call,歡迎 forkstar* 好久沒有對外輸出文章了

img

主要是寫的前兩篇沒有人看,受打擊了,急需網(wǎng)友的肯定【點(diǎn)贊呀

img

END


有熱門推薦?

1.?牛x!一個(gè)比傳統(tǒng)數(shù)據(jù)庫快 100-1000 倍的數(shù)據(jù)庫!

2.?必須了解的mysql三大日志-binlog、redo log和undo log

3.?MySQL 數(shù)據(jù)量太大,日??ㄋ?!想跑路了!

4.?不要再問我 in,exists 走不走索引了...

最近面試BAT,整理一份面試資料Java面試BATJ通關(guān)手冊,覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)等等。

獲取方式:點(diǎn)“在看”,關(guān)注公眾號并回復(fù)?Java?領(lǐng)取,更多內(nèi)容陸續(xù)奉上。

文章有幫助的話,在看,轉(zhuǎn)發(fā)吧。

謝謝支持喲 (*^__^*)

瀏覽 28
點(diǎn)贊
評論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評論
圖片
表情
推薦
點(diǎn)贊
評論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 国产男女性爱视频播放| 国内超碰| 国产欧美激情| 天天爽天天干| 97人妻一区二区三区| 中文字幕第9页| 中文字幕无码免费| 欧美专区一区| 黄色福利视频| 成人乱无码AV在线观看| 久久九热| 欧美成在线视频| 91新婚人妻偷拍| 亚洲免费在线| 欧美一级婬片免费视频黄| 闺蜜av| 91热爆TS人妖系列| 久久私拍视频| 欧美性爱一级视频| 国产免费一区二区三区| 91av免费观看| 99xxxxx| 三级黄色免费网站| 国产69视频在线观看| 天天精品无码| 亚洲色情网站| 欧美综合国产| 色色色五月| 亚洲日韩三级片| 国产日韩二区| 高清无码网| 性欧美成人播放77777| 欧美一区二区无码视频| 日本无码专区| 青娱乐国产在线视频| 天天日天天操天天摸天天干天日射天天插| 可以看的黄色视频| 无码做爰欢H肉动漫网站在线看 | 成人免费精品| 91丨PORN丨国产| 国产一级A片免费播放| 狠狠香蕉| 中文字幕国产| 69毛片| 黄色小视频在线观看| 69成人免费视频| 亚洲欧美日韩高清| 亚洲AV无码秘翔田| 69av网站| 日本少妇BBw| 青青热视频| 午夜一级性爱片| 透逼视频| 亚洲九九九九| 天天爽天天射| 国产综合久久久7777777| 污污污污污www网站免费观看| 亚洲AV成人一区二区三区不卡| 国产av影音| 免费观看高清无码视频| 搡BBBB搡BBB搡五十粉嫩 | 大香蕉伊人影视| 精品无码一区二区三区四区久久久软件 | 日韩无码视频播放| 99视频免费在线| 人妻无码91| 曰本中文字幕在线视频| 大香蕉精品在线| 欧美日韩国产一区二区三区| 亚洲一区AV| 国产一级婬片A片免费无成人黑豆 国产真实露脸乱子伦对白高清视频 | 熟女老阿V8888AV| 国产乱子伦一区二区三区免看| 69久久成人精品| 欧美老司机| 国产黄色a片| 日韩免费在线观看一区入口| 一道本一区二区三区免费视频| 亚洲成人自拍| 亚洲无线观看| 88av在线| 国产精品无码一区二区在线欢| 日韩二区三区| 综合五月| 日老女人逼| 午夜av在线观看| 成人免费视频国产免费麻豆,| 91干干干| 欧美激情无码一区二区三区张丽| 性爱麻豆| 亚洲福利视频网站| 久久国产欧美| 日韩在线视频免费播放| 一级无码在线观看| 亚洲精品秘一区二区三区在线观看 | 安徽妇搡BBBB搡BBB| 久久无码影院| 超碰在线人人干| 欧美操女人| 中文字幕高清免费看| 人人妻人人澡| 五月天干美女| 日韩本色一区| 国产性爱精品影片免费看| 另类老妇奶性BBWBBw| 人人爽人人爽| 国产黄片视频| 欧美一级二级三级| 91小电影| 91乱伦| 欧美三级在线| 美妇肥臀一区二区三区-久久99精品国 | 欧美一级婬片免费视频黄| 国产又爽又黄免费网站在线观看| 黄色免费大片| 欧美去干网| 91在线精品一区二区| 亚洲中文字幕免费观看| 麻豆av在线| 久久人妻熟女中文字幕av蜜芽| 天天色天天干天天日| 外国一级片| 国产一区二区在线视频| 欧美性爱一区二区| 91视频亚洲| 日韩欧美一级| 91福利网| 午夜性爽视频男人的天堂| 久久电影五月天| 日韩黄色中文字幕| 北条麻妃一区二区三区在线| 中文字幕线观看| 中文字幕亚洲观看| 啪啪视频m3u8| 色男人的天堂网| 国产精品一区av| 高清无码不卡视频| 大香蕉五月丁香| 精品动漫3D一区二区三区免费版| 高清亚洲| 免费日本黄色| 久草免费电影| 丁香六月天| 青青草97国产精品麻豆| 无码v| 91成人免费视频| 国产做爱导航| 周晓琳AV| 美女毛片网站| A色片| 日韩av免费在线| 大香蕉尹人在看| 91人妻无码精品一区二区三区| 国产精品久久久久久久久久久久久久久 | 日韩欧美在线免费| 天天爽日日澡| 伦理被部长侵犯HD中字| 热99视频| 99爱爱| 91国产爽黄| 综合+夜夜| 欧美韩日高清精彩视频| 人人人操人人| 91黄网站在线观看| 成人免费黄色网| 亚洲精品中文字幕成人片| 麻豆传媒电影| 国产精品国产精品国产专区不卡| 成人毛片在线观看| 国产一区二区三区18| 久久精品99视频| AV青青草原| 99热99re6国产线播放| 成人色色| 无码黄漫| 国产激情片| 国内自拍视频在线观看| 99热这里有精品| 精品无码一| 黃色A片一級二級三級免費久久久| 欧美视频综合网| 蜜乳av红桃嫩久久| 免费视频在线观看一区| 日韩一级免费看| 久久久噜噜噜| 亚洲第一页在线| 影音先锋一区二区三区| 91视频爱爱| 91无码高清视频| 一区二区三区无码精品| a一级黄片| 成人免费视频国产免费麻豆,| 不卡AV在线| 亚洲v| 亚洲国产一区二区在线| 色婷婷中文在线| 日韩久久婷婷| 国产一级黄| 在线观看你懂得| 91在线精品无码秘入口苹果| 男人天堂成人| 嗯啊在线视频| 国产女人18毛片水真多成人如厕| 亚洲免费观看高清完整版在线| 无码精品人妻一区二区三区漫画| 欧美一区二区在线观看| 久久日av| 欧美日韩黄色极品| 综合激情网站| 插菊花综合网3| 亚洲一级在线| 人人妻人人澡人人爽久久| 亚洲乱码在线| 亚洲无码一卡二卡| 激情av在线| 无码网| 熟女人妻一区二区三区| 99免费热视频| 丁香五月天av| 亚洲三级片视频| 亚洲成人无码视频| 老妇bbw| 国产AⅤ无码一区二区| 日韩美女在线| 国产AV一区二区三区四区| 久久大香蕉视频| 肉色超薄丝袜脚交一区二区| 国产一区二三区| 99热er| 国产电影一区二区三区| 韩国中文字幕HD久久精品| 午夜国产在线视频| 中文不卡在线| 欧美性爱91| 日韩欧美综合| 九九成人免费视频| 国产高清无码在线观看视频| 国产又色又爽又黄又免费| 黄网站免费观看| 精品蜜桃秘一区二区三区观看| 日本免费黄色小视频| 97人妻天天摸天天爽天天| 亚洲中文字幕免费观看| 亚洲激情性爱| 日韩不卡一区二区三区| 特级西西人体WWWWW| 五月天无码视频| 五月激情婷婷基地| 国产午夜精品一区二区三区四区 | 久久婷婷在线| 99在线观看精品视频| 日韩性爱在线| 日本三级片无码| 欧美二区三区| 懂色av,蜜臀AV粉嫩av| 在线观看日韩三级片av| 息子交尾一区二区三区| 日本熟妇高潮BBwBBwBBw| 国产电影一区二区三区| 无码小黄片| 一级黄色性爱视频| 成人三级电影在线观看| 91就要爱爱视频| 在线播放a| 日韩欧美一级视频| 强伦轩农村人妻| 伊人性视频| 男人天堂视频网站| 老司机AV| 日本黄色影视| 黄色小说视频| 亚洲黄片视频| 99re视频播放| 四川少BBB搡BBB爽爽爽| 欧美日本国产| 日韩人妻无码一区二区三区中文 | 日韩无码高清一区| 亚洲精品在线视频| 亚洲影音先锋资源| 国产亚洲色婷婷久久99精品| 91人妻人人澡| 亚洲国产av一区| 久久婷婷国产综合| 亚洲日韩中文字幕在线| 亚洲视频二| 天天爽夜夜| 黄色动态视频| 91精品国产人妻| 亚洲色欲av| 丰满欧美熟妇免费视频| 手机看片福利视频| 午夜成人精品| www.蜜桃| 久久久久久久AV| 中文字幕Av在线| 91蜜桃婷婷狠狠久久综合9色| 亚洲五月天色| 中文乱伦视频| 伊人五月在线| 亚洲成人无码视频在线观看 | 国产思思99re99在线观看| 亚洲视频a| 高清无码一区| 豆花视频免费| 俺来也俺就去www色情网| 另类老妇性bbwbbwbbw| 国产成人无码Av片在线公司| 色婷婷18| 91人妻人人澡人人爽人人精品一 | 国产精品无码激情视频| 婷婷俺也去| 婷婷五月亚洲| 日韩操逼AV| 亚洲成人三级| 大橡胶伊人网| 亚洲天堂在线看| 欧美一级内射| 国产成人三级在线播放| 精品一区二区久久久久久久网站| 欧洲黑人成人A版免费视频| 性欧美欧美巨大69| 91亚洲视频在线观看| 蜜臀av一区| 欧美香蕉视频| 越南熟女| 午夜在线免费视频| 在线观看黄色视频网站| 久久久久亚洲AV无码专区成人| 国产乱妇乱子伦视频免费观看让女人 | 日本精品在线观看视频| 大陆一级片| 国产精品色在线回看| 亚洲天堂影音先锋| 777777视频| 无码色网| 亚洲熟女一区| 噜噜噜网| 91精品久久久久久久久| 操逼不卡视频| 女生操逼网站| 国产高清AV| 国产精品天天| 黄色精品视频| 国内无码自拍| 中文字幕第一区| 大陆搡BBBBB搡BBBBBB| 性满足BBWBBWBBW| 无码成人在线观看| 激情五月天在线观看| 国外成人视频| 一线毛片| 99热这里有精品| 免费黄色视频网站在线观看| 唐山熟女工棚嗷嗷叫| 亚洲天堂三级片| 狠狠草视频| jizz在线观看免费视频| 北条麻妃无码播放| 丁香激情视频| 久久草大香蕉| 婷婷视频网站| 欧美性小说| 看毛片视频| 成人国产在线无码AV免费| 按摩忍不住BD中文字幕| 91亚洲综合| 伊人婷婷色香综合| 东北老女人操逼| 亚洲天堂在线播放| 丝袜一区二区三区| 九九99电影| 嘉兴少妇按摩69XX| 大香蕉一级红色片青青河边草| 亚洲婷婷五月天| 黑人av| 三级片亚洲| 亚洲二区后入极品| 神马午夜福利影院| 人人操AV在线| 日本A片免费观看| 五月天毛片| 久久做爱视频| 日韩激情无码视频精选| 杨门女将婬乱史1—6| 国外亚洲成AV人片在线观看| 亚洲精品久久久久久久久豆丁网 | 阿宾MD0165麻豆沈娜娜| 亚洲精品一二三| 久久68| 懂色av懂色av粉嫩av无码 | 狼友在线播放| 亚洲色五月| 欧洲性爱视频在线观看| 欧洲精品在线观看| 麻豆精品传媒2021md| 国产精品123| 免费在线观看无码视频| 天天噜噜色| 日日日操| 色色色91| 国产一级片免费观看| 亚洲色婷婷在线| 91精品久久香蕉国产线看观看 | 视频一区中文字幕| 精品日逼| Av天堂图片在线| 91叉叉叉| 欧美精品在线免费| 国产看片网站| 天天草天天日| 日韩AV毛片| 精品av在线观看| 国产精品九九九| 最新中文字幕在线观看视频| 久久91人妻无码精品蜜桃HD| 综合中文字幕| 国产麻豆免费| 亚洲中文字幕在线免费观看视频 | 狠狠做深爱婷婷久久综合一区| 日韩一区无码| 72成人网| 国产福利视频| 欧美国产日韩在线观看| 人妻在线无码| 欧美性猛交XXXX乱大交蜜桃 | 韩日一级片| 国产内射网站| 中文无码人妻少妇| 国产午夜福利在线| 男女性爱视频网站| 成年人毛片| www九九九| 人人爽亚洲AV人人爽AV人人片| 久99视频| 亚洲福利在线免费观看| 一级黄色片免费看| 国产丝袜av| 操一线天逼| 97人人爽人人爽人人人| 久久精品苍井空免费一区| 蜜臀av在线| 男女啪啪免费视频| 久草精品在线| 久热国产视频| 婷婷色片| 国产亚洲视频在线观看| 免费Av在线| www.在线播放| 日韩熟妇无码中文字幕| 欧洲性爱视频在线观看| 精品夜夜澡人妻无码AV| 国产中文在线观看| 中文字幕理论片| 国产av福利| 人人看人人爱| 欧美久色| 日本精品视频在线观看| 久久6精品| 精品孕妇一级A片免费看| 99热在线看| 天堂在线9| 国产激情免费| 黄色美女视频网站| 大香蕉最新视频| 日本的黄色视频| A视频在线| 亚洲日韩精品无码| 99热精品免费在线观看| 成人三级视频在线观看| 在线国产激情| 久久亚洲日韩天天做日日做综合亚洲| 婷婷五月天国产| 日本熟妇无码一区二区| 日韩A人人| 天天射天天爽| 色777网站| 五月六月丁香激情视频| 人人射人人操| 免费网站观看www在线观| 免费看三级网站| 伊人久艹| 国产av地址| 无码视频日韩| 日韩av在线免费观看| 在线无码中文| 99精品国产热久久91色欲| 亚洲天堂在线播放| 蝌蚪窝视频在线| 精品黄色视频| 97操逼网| 人妻视频在线| 99er在线视频| 爱爱爱爱网| 欧美视频一区| 亚洲AV无码成人精品区| 免费黄色视频网站在线观看| 在线99精品| 日韩人妻一区二区三区| 免费观看操逼| 国产精品在线免费| 久操视频在线| 国产一级片在线播放| 欧美888| 日韩一级乱伦| 中文亚洲字幕| A片视频免费观看| ThePorn精品无码| 天天撸天天干天天日| 成人无码网站| 69福利视频| 亚洲无码中文字幕视频| 亚洲二区后入极品| 永久免费视频| 天堂va欧美va亚洲va在线| AAA亚洲| 亚洲视频在线播放| 青春草在线观看视频| 日本在线一区| 91日韩无码| 免费观看黄色视频| 99精品人妻| 台湾毛片| 成人网站一区二区| 天天搞天天曰在线观看| 国产二级片| 狠狠干在线观看| 男人的天堂视频在线| 天天操嫩逼无套视频| 丁香五月婷婷综合| 最新黄色av| 成人黃色A片免费看| 久久亚洲日韩天天做日日做综合亚洲| 性无码一区二区三区| 男女做爱网站| 国产精品V日韩精品V在线观看 | 岛国无码破解AV在线播放| 日韩理论在线| 青草视频在线观看免费| 操逼日爱| 亚洲欧美另类在线| 天天色天天色天天色| 国产视频成人| 亚洲欧美婷婷五月色综合| 爱爱打炮影院| 69国产精品成人无码| 欧美亚洲图区| 加勒比国产在线| 日本三级AAA三级AAAA97 | 五月天激情影院| 亚洲无套内射| 免费高清无码| 自拍偷拍福利视频网站| a网站免费观看| 久久波多野结衣| 亚洲视频免费在线播放| 欧美色色视频| 日韩AV资源网| 日本无码区| 日韩无码电影网| 操b视频在线观看| 日韩一级片免费看| 国产精品久久久久久99| 亚洲人一级电影| 日韩在线| 久久99深爱久久99精品| 少妇白洁在线观看| 熟妇槡BBBB槡BBBB图| 亚洲av黄片| 免费观看一级A片| 日韩小电影| 加勒比色综合| 苍井空一区二区三区| 日韩网站在线观看| 俺去也俺去啦| 黑人中文字幕| 永井玛丽亚av无码中出流出| 女人天堂av| 免费无码国产| 国产精品秘久久久久久1-~/\v7-/ 囯产精品一区二区三区线一牛影视1 | 高清无码不卡av| 亚洲日韩中文字幕在线观看| 88AV在线| 日操夜操| 大香蕉性爱网| 欧美在线视频一区二区| 最好看2019中文在线播放电影| 国产精品视频一区二区三| 伊人大香蕉在线观看| 91精品导航| 欧美成人黄色A片| 12—13女人毛片毛片| 人妻18无码人伦一区二区三区精品| 人人妻日日摸狠狠躁| avcom无码| 九色在线视频| 人人澡人人澡人人澡| 久久久久久穴| 97天天干| 3D动漫精品啪啪一区二区竹笋| 99久免费视频| 日本v片| 中文字幕乱码亚洲无线码按摩| 色噜噜狠狠一区二区三区Av蜜芽| 搡BBBB搡BBB搡我瞎了| 日本A级毛片| 91成人无码看片在线观看网址 | 四川少扫搡BBBBB搡B| 国产99久久九九精品无码免费 | 人人操人人操人人操人人操| 国产一级乱伦| 女公务员人妻呻吟求饶| 麻豆MD传媒MD0071| 国产精品999| 精产国品一区二区区别| 免费亲子乱婬一级A片| 波多野结衣av在线播放| 日本在线视频一区二区| 九九午夜| 91超碰人人| 日韩一区二| 国产欧美日韩综合在线视频 | 黄色三级av| 婷婷五月天丁香在线| 国产高清AV在线| 欧美一级成人片| 操操操操一本到| footjobvk| 亚洲黄色av| 人成视频在线观看| 少妇特黄A一区二区三区| 一区二区三区在线免费观看| 亚洲中文字幕高清| 黄色A片免费看| 日韩婬乱片A片AAA真人视频| 日韩性爱在线观看| 亚洲欧美日韩动漫| 色婷婷18正码国产| 999热视频| 激情国产精品| 黄色小说在线播放| 精品吃奶一区二区三区视频| 国产伦子伦一级A片免费看老牛| 国产欧美精品在线观看| 国产浮力草草| 免费成人黄视频| 天天日天天干天天操| 69无码| 无码三级片在线观看| 免费看黄色片| 日韩成人无码AV| 国产精品久久久精品| 久久久久综合| 日皮视频免费看| 天堂中文资源在线| 亚洲自拍电影| 亚洲综合视频在线观看| 91精品国产偷窥一区二区 | www.| 日韩国产AV| 日韩高清无码一区| 黑人AV在线| 国产第一页在线观看| 少妇特黄A一区二区三区| A级网站| 加勒比综合| 日韩第一页| 中文国产| 亚洲图片欧美色图| 拍拍视频| 露脸丨91丨九色露脸| 奇米色色| 久久精品欧美| 91在线无码精品秘国产三年| 欧美肏屄视频| 无码三级视频| 日本少妇视频| 阿宾MD0165麻豆沈娜娜| 俺来也官网欧美久久精品| 亚洲性精| 国产一级a毛一级a毛片视频黑人| 91少妇精品| 女人高潮天天躁夜夜躁| 男女性爱视频免费| AV在线播放中文字幕| 激情无码av| 性欧美xxxx| 91AV一区二区三区| 香蕉在线播放| 国产在线1| 黄色A片免费| 成人午夜无码| a久久| 伊人精品在线| 婷婷国产在线| 操逼啦| AV东方在线| 日韩无码二区| 精品天堂| 无码AV在线播放| 欧美日韩操| 久草在线| 日韩无码人妻久久一区二区三区| S牛牛AV| 国产精品探花熟女AV| 91精品国产综合久久久蜜臀图片| 亚洲A片视频| 四虎成人精品永久免费AV九九 | www.俺去也| 成年人在线视频| 精品无套| 黑人av在线观看| 久久香视频| 亚洲小骚逼| 久9精品| 高清无码在线免费观看视频| 亚州视频在线| 日逼欧美| a黄色片| 伊人久久大香线蕉av一区| 免费a在线观看| 亚洲麻豆| 色欧美大香蕉| 操操操操一本到| 无码在线播放观看| 日韩日韩日韩日韩日韩| 日韩精品成人免费观看视频 | 日韩精品不卡| 男女av在线| 午夜大香蕉| 黄片高清免费观看| 操美女的逼| 日韩午夜在线观看| 最近最经典中文MV字幕| 91人妻人人澡人人爽人妻| 亚洲黄色影视| 97一区二区三区| 黄色国产在线观看| 黄色视频在线观看18| 免费一级婬片AAA片毛片A级 | 成人免费A片在线观看直播96| 欧美色视频一区二区三区在线观看 | 成人社区视频| 曰韩一级A片| 日本豆花视频| 亚洲超碰在线观看| 波多野结衣无码一区二区| 一区二区网站| 夜夜骑夜夜操| 在线免费观看黄片| 亚洲欧美日韩无码| 精品狼友| 精品国产毛片| 91黑人| 国产成人精品电影| 麻豆AV96熟妇人妻| 日韩精品在线免费视频| 国产伦子伦一级A片免费看老牛| 精品久久免费一区二区三区| 日韩中文字幕在线人成网站| 北条麻妃人妻中文字幕91影视| 黄片免费视频在线观看| 五月婷婷丁香六月| 正在播放吴梦梦淫行| 五月婷婷狠狠爱| 少妇高潮日韩| 九九热视频在线观看| 99综合视频| 影音先锋天堂| 色就是色欧美| 好逼123| 年轻女教师高潮2| 高清无码第一页| 亚洲内射视频| 色婷婷丁香五月天| 不卡无码中文字幕一区| www.91超碰在线| 色婷婷国产精品视频| 亚洲激情五月| 俺也干| 五月婷婷中文字幕| 91探花精品偷拍在线播放| 天堂在线v| 91丨九色丨蝌蚪丨丝袜| 亚洲综合天堂| 日韩国产一区| 亚洲精品成人片在线观看精品字幕| 在线观看亚洲无码视频| 操逼毛片视频| 在线免费观看无码| 人人爽人人爽人人爽| aaa少妇| 51成人精品午夜福利| 青草一区| 爱逼av| 国产成人AV片| 午夜成人亚洲| 中文字幕免费毛片| 亚洲综合日韩| 在线黄色av| 青青草在线视频免费观看| 精品蜜桃一区内容| 天天夜夜狠狠| 日韩99在线| 琪琪色在线视频| 无码aa| 欧美不卡在线视频| 国产伦精品一级A片视频夜夜| 亚洲免费观看高清完整版在线观| 播五月婷婷| 日韩中文字幕在线视频| 丁香五月婷婷视频| 大鸡巴草逼| 国产区AV| 天天射视频| 国产成人视频在线播放| 另类无码| 国精产品久拍自产在线网站| 久久免费观看视频| 亚洲激情成人| 三级A片视频| 黄片在线免费播放| 蜜桃传媒一区二区亚洲AV| 日本一节片在线播放| 久久久精品在线| 天堂va欧美va亚洲va在线| 国产精品片| 制服丝袜无码| 最近中文字幕中文翻译歌词| 欧美a区| 乱伦三级| 一级大黄色毛片| 久草视频在线免费播放| 青娱乐亚洲精品| 男女www| 日韩一级片子| 美国黄色A片| 久久999| 国产精品秘久久久久久久久| 国产精品无码一区二区三| 99久久国产热无码精品免费| 操片| 亚洲无码播放| 色婷婷在线视频播放| 国产精品高潮呻吟久久| www.91麻豆| 麻豆蜜桃wwww精品无码| 国产成人秘在线观看免费网站| 亚洲日韩欧美一区二区| 免费毛片基地| 色五月视频在线| 日本内射在线播放| 无码精品人妻一区二区三区漫画 | 8x8拨牐拨牐拨牐永久免费| 黄色电影一区二区| 91免费视频在线| 色一本| 色777网站| 国产理论电影在线观看| 日韩无码人妻久久一区二区三区| 成年人免费毛片| 亚洲免费观看高清完整版在线| 国产熟妇婬乱一区二区| 夜夜骑免费视频| 久久久成人免费视频| 国产白丝在线观看| 国产精品视频一区二区三区在线观看 | 国产成人免费看| 午夜精品18| 中文字幕无码一区二区| 大香蕉在8线| 亚洲激情av| 欧美成人网站视频| 成人婷婷五月天| 狠狠一区| AV影院在线| 九九人妻| 三级a片| brazzers疯狂作爱| 四虎影院色| 操屄视频在线观看| 国产精品久久久久久亚洲毛片 | 亚洲高清无码免费观看| 日韩av在线免费观看| 好屌肏| 一级免费A片| a片免费在线观看| 日韩黄色免费网站| 乱伦一级| 高清无码视频网站| 精品久久久久久亚洲| 日韩有码电影| 中文字幕免费观看| 99re这里只有精品6| 熟妇人妻中文AV无码| 淫一区二区| 中文字幕第一页av| 中文字幕有码在线视频| 777欧美| 色老板最新地址| 蜜臀久久99精品久久久电影|