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

iPhone應用開發中ASIHTTPRequest詳解

移動開發 iOS
本文介紹的是iPhone應用開發中ASIHTTPRequest,ASIHTTPRequest 是一款極其強勁的 HTTP 訪問開源項目。讓簡單的 API 完成復雜的功能,

iPhone應用開發中ASIHTTPRequest詳解是本文要講解的內容,ASIHTTPRequest 是一款極其強勁的 HTTP 訪問開源項目。讓簡單的 API 完成復雜的功能,如:異步請求,隊列請求,GZIP 壓縮,緩存,斷點續傳,進度跟蹤,上傳文件,HTTP 認證。在新的版本中,還加入了 Objective-C 閉包 Block 的支持,讓我們的代碼加輕簡靈活。

下面就舉例說明它的 API 用法。

發起一個同步請求

同步意為著線程阻塞,在主線程中使用此方法會使應用Hang住而不響應任何用戶事件。所以,在應用程序設計時,大多被用在專門的子線程增加用戶體驗,或用異步請求代替(下面會講到)。

  1. - (IBAction)grabURL:(id)sender  
  2.  {  
  3.    NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];  
  4.    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];  
  5.    [request startSynchronous];  
  6.    NSError *error = [request error];  
  7.    if (!error) {  
  8.      NSString *response = [request responseString];  
  9.    }  
  10.  } 

用 requestWithURL 快捷方法獲取 ASIHTTPRequest 的一個實例

startSynchronous 方法啟動同步訪問

由于是同步請求,沒有基于事件的回調方法,所以從 request的error 屬性獲取錯誤信息

responseString,為請求的返回 NSString 信息

創建一個異步請求

異步請求的好處是不阻塞當前線程,但相對于同步請求略為復雜,至少要添加兩個回調方法來獲取異步事件。下面異步請求代碼完成上面同樣的一件事情:

  1. - (IBAction)grabURLInBackground:(id)sender  
  2. {  
  3.    NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];  
  4.    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];  
  5.    [request setDelegate:self];  
  6.    [request startAsynchronous];  
  7. }  
  8. - (void)requestFinished:(ASIHTTPRequest *)request  
  9. {  
  10.    // Use when fetching text data  
  11.    NSString *responseString = [request responseString];  
  12.    // Use when fetching binary data  
  13.    NSData *responseData = [request responseData];  
  14. }  
  15. - (void)requestFailed:(ASIHTTPRequest *)request  
  16. {  
  17.    NSError *error = [request error];  

與上面不同的地方是指定了一個 "delegate",并用 startAsynchronous 來啟動網絡請求

在這里實現了兩個 delegate 的方法,當數據請求成功時會調用 requestFinished,請求失敗時(如網絡問題或服務器內部錯誤)會調用 requestFailed。

隊列請求

提供了一個對異步請求更加精準豐富的控制。如:可以設置在隊列中同步請求的連接數。往隊列里添加的請求實例數大于 maxConcurrentOperationCount 時,請求實例將被置為等待,直到前面至少有一個請求完成并出列才被放到隊列里執行。這也適用于當我們有多個請求需求按順序執行的時候(可能是業務上的需要,也可能是軟件上的調優),僅僅需要把 maxConcurrentOperationCount 設為“1”。

  1. - (IBAction)grabURLInTheBackground:(id)sender  
  2. {  
  3.    if (![self queue]) {  
  4.       [self setQueue:[[[NSOperationQueue alloc] init] autorelease]];  
  5.    }  
  6.    NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];  
  7.    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];  
  8.    [request setDelegate:self];  
  9.    [request setDidFinishSelector:@selector(requestDone:)];  
  10.    [request setDidFailSelector:@selector(requestWentWrong:)];  
  11.    [[self queue] addOperation:request]; //queue is an NSOperationQueue  
  12. }  
  13. - (void)requestDone:(ASIHTTPRequest *)request  
  14. {  
  15.    NSString *response = [request responseString];  
  16. }  
  17. - (void)requestWentWrong:(ASIHTTPRequest *)request  
  18. {  
  19.    NSError *error = [request error];  

創建 NSOperationQueue,這個 Cocoa 架構的執行任務(NSOperation)的任務隊列。我們通過 ASIHTTPRequest.h 的源碼可以看到,此類本身就是一個 NSOperation 的子類。也就是說它可以直接被放到"任務隊列"中并被執行。上面的代碼除了隊列的創建與添加操作外,其它代碼與上一例一樣。

隊列異步請求中中獲取或識別不同request小技巧

可以設置一個上下文(userInfo)到 request 對象中,當請求響應完后可以通過訪問 request 對象的 userInfo 獲取里面的信息

為每一個請求實例設置不同的 setDidFinishSelector / setDidFailSelector 的回調方法

子類化 ASIHTTPRequest,重寫 requestFinished: 與 failWithProblem: 方法

ASINetworkQueues, 它的delegate提供更為豐富的功能

提供的更多的回調方法如下:

  1. requestDidStartSelector,請求發起時會調此方法,你可以在此方法中跟據業務選擇性的設置 request 對象的 deleaget   
  2. requestDidReceiveResponseHeadersSelector,當接受完響應的 Header 后設計此方法,這個對下載大數據的時候相當有用,你可以在方法里做更多業務上的處理   
  3. requestDidFinishSelector,請求并響應成功完成時調用此方法   
  4. requestDidFailSelector,請求失敗   
  5. queueDidFinishSelector,整個隊列里的所有請求都結束時調用此方法  

它是 NSOperationQueues 的擴展,小而強大。但也與它的父類略有區別。如,僅添加到隊列中其實并不能執行請求,只有調用[  queue g o ]才會執行;一個正在運行中的隊列,并不需要重復調用[  queue go  ]。默認情況下,隊列中的一個請求如果失敗,它會取消所有未完成的請求。可以設置[  queue setShouldCancelAllRequestsOnFailure:NO  ]來修正。

取消異步請求

首先,同步請求是不能取消的。

其次,不管是隊列請求,還是簡單的異步請求,全部調用[ request cancel ]來取消請求。取消的請求默認都會按請求失敗處理,并調用請求失敗delegate。

如果不想調用delegate方法,則設置:[ request clearDelegatesAndCancel];

隊列請求中需要注意的是,如果你取消了一個請求,隊列會自動取消其它所有請求。如果只想取消一個請求,可以設置隊列:

  1. [ queue setShouldCancelAllRequestsOnFailure:NO ];  

如果想明確取消所有請求:[ queue cancelAllOperations ];

安全的內存回收建議

request并沒有retain你的delegate,所以在沒有請求完的時候釋放了此delegate,需要在dealloc方法里先取消所有請求,再釋放請求實例,如:

  1.  - (void)dealloc  
  2. {  
  3.    [request clearDelegatesAndCancel];  
  4.    [request release];  
  5.    ...  
  6.    [super dealloc];  

向服務器端上傳數據

ASIFormDataRequest ,模擬 Form 表單提交,其提交格式與 Header 會自動識別。

沒有文件:application/x-www-form-urlencoded

有文件:multipart/form-data

  1.  ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];  
  2. [request setPostValue:@"Ben" forKey:@"first_name"];  
  3. [request setPostValue:@"Copsey" forKey:@"last_name"];  
  4. [request setFile:@"/Users/ben/Desktop/ben.jpg" forKey:@"photo"];  
  5. [request addData:imageData withFileName:@"george.jpg" andContentType:@"image/jpeg" forKey:@"photos"]; 

如果要發送自定義數據:

  1. ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];  
  2. [request appendPostData:[@"This is my data" dataUsingEncoding:NSUTF8StringEncoding]];  
  3. // Default becomes POST when you use appendPostData: / appendPostDataFromFile: / setPostBody:  
  4. [request setRequestMethod:@"PUT"]; 

下載文件

通過設置request的setDownloadDestinationPath,可以設置下載文件用的下載目標目錄。

首先,下載過程文件會保存在temporaryFileDownloadPath目錄下。如果下載完成會做以下事情:

如果數據是壓縮的,進行解壓,并把文件放在 downloadDestinationPath 目錄中,臨時文件被刪除
如果下載失敗,臨時文件被直接移到 downloadDestinationPath 目錄,并替換同名文件

如果你想獲取下載中的所有數據,可以實現 delegate 中的 request:didReceiveData:方法。但如果你實現了這個方法,request 在下載完后,request 并不把文件放在 downloadDestinationPath 中,需要手工處理。

獲取響應信息

信息:status , header, responseEncoding

  1. [request responseStatusCode];  
  2. [[request responseHeaders] objectForKey:@"X-Powered-By"];  
  3. [request responseEncoding]; 

獲取請求進度

有兩個回調方法可以獲取請求進度:

  1. downloadProgressDelegate,可以獲取下載進度   
  2. uploadProgressDelegate,可以獲取上傳進度  

cookie的支持

如果 Cookie 存在的話,會把這些信息放在 NSHTTPCookieStorage 容器中共享,并供下次使用。你可以用 [ ASIHTTPRequest setSessionCookies:nil ] ; 清空所有 Cookies。當然,你也可以取消默認的Cookie策略,而使自定義的Cookie:

  1. //Create a cookie  
  2. NSDictionary *properties = [[[NSMutableDictionary alloc] init] autorelease];  
  3. [properties setValue:[@"Test Value" encodedCookieValue] forKey:NSHTTPCookieValue];  
  4. [properties setValue:@"ASIHTTPRequestTestCookie" forKey:NSHTTPCookieName];  
  5. [properties setValue:@".allseeing-i.com" forKey:NSHTTPCookieDomain];  
  6. [properties setValue:[NSDate dateWithTimeIntervalSinceNow:60*60] forKey:NSHTTPCookieExpires];  
  7. [properties setValue:@"/asi-http-request/tests" forKey:NSHTTPCookiePath];  
  8. NSHTTPCookie *cookie = [[[NSHTTPCookie alloc] initWithProperties:properties] autorelease];  
  9.  
  10. //This url will return the value of the 'ASIHTTPRequestTestCookie' cookie  
  11. url = [NSURL URLWithString:@"http://allseeing-i.com/ASIHTTPRequest/tests/read_cookie"];  
  12. request = [ASIHTTPRequest requestWithURL:url];  
  13. [request setUseCookiePersistence:NO];  
  14. [request setRequestCookies:[NSMutableArray arrayWithObject:cookie]];  
  15. [request startSynchronous];  
  16.  
  17. //Should be: I have 'Test Value' as the value of 'ASIHTTPRequestTestCookie'  
  18. NSLog(@"%@",[request responseString]); 

大文件斷點續傳0.94 以后支持大文件的斷點下載,只需要設置

  1. [ request setAllowResumeForFileDownloads:YES ];  
  2. [ request setDownloadDestinationPath:downloadPath ]; 

就可以了。

小結:iPhone應用開發中ASIHTTPRequest詳解的內容介紹完了,希望通過本文的學習能對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-08-11 13:35:28

iPhoneASIHTTPRequHTTP

2011-08-12 13:35:23

iPhone文件流ASIHTTPRequ

2011-08-15 11:37:20

iPhone開發Mask

2011-08-12 14:33:06

iPhone緩存文件

2011-08-17 15:10:21

iPhone開發Web視圖

2011-08-22 10:06:38

IOS開發ASIHTTPRequHTTP 請求

2011-08-02 17:27:06

iPhone應用 剪切技巧

2011-07-27 11:14:37

iPhone UITableVie

2011-07-26 09:41:23

iPhone xcode Mac OS X

2011-08-12 10:04:24

iPhone開發視圖

2011-08-17 15:19:38

iPhone應用數據

2013-07-22 13:48:55

iOS開發ASIHTTPRequ使用Cookie

2011-08-03 17:18:58

iPhone UILabel UISlider

2011-08-09 14:08:51

iPhoneHTTP請求協議

2011-08-22 14:12:48

iPhone開發NSTableView

2011-08-09 17:12:30

iPhoneCFRunLoop

2011-08-15 15:44:46

iPhone開發PDF

2011-08-18 16:24:44

iPhone開發圖片

2011-07-27 10:16:41

iPhone SQLite 數據庫

2011-08-12 14:04:53

iPhone動畫
點贊
收藏

51CTO技術棧公眾號

宅男在线国产精品| 成人av无码一区二区三区| 国产一区精品| 亚洲性视频在线| 免费看欧美女人艹b| 精品日产卡一卡二卡麻豆| 日韩动漫在线观看| 亚洲男人第一av| 欧美经典一区| 国产精品美女久久久久久久| 热99精品里视频精品| 大尺度在线观看| 97超碰资源站在线观看| 麻豆精品在线播放| 亚洲性生活视频| 免费高清在线观看免费| 欧美一区二区黄片| 欧美三级网页| 日韩一区二区三区精品视频| 亚洲精品成人三区| 欧美在线视频精品| 精品不卡一区| 欧美最猛性xxxxx直播| 久久精品二区| 午夜精品久久久久久久久久久久久蜜桃 | 99精品视频在线观看免费| 久久精品电影网| 一区二区三区视频在线观看免费| 精品亚洲综合| 国产mv日韩mv欧美| 欧美精品电影免费在线观看| 台湾佬美性中文| 欧美人与动牲性行为| 福利91精品一区二区三区| 国产精品69久久| 九九九视频在线观看| 欧洲精品一区二区三区| 国产三级精品在线| 国产精品一香蕉国产线看观看| 国产99在线 | 亚洲| 久久精品色播| 日韩欧美福利视频| 日韩免费一区二区三区| 日本黄色大片视频| 国产精品亚洲综合一区在线观看| 九九热视频这里只有精品| 成年人看片网站| 久久婷婷五月综合色丁香| 中文字幕一区二区三| 亚洲xxxxx性| 国产无遮挡又黄又爽| 色综合久久中文| 91黄色在线观看| 综合久久国产| 日韩中文字幕免费观看| 国产河南妇女毛片精品久久久 | 国内精品视频免费| 精品国产一区二区三区四| 欧美女优在线视频| 777亚洲妇女| av在线网址导航| 欧美性爽视频| 亚洲精品菠萝久久久久久久| 国产一区二区中文字幕免费看| 国产黄色免费大片| 羞羞答答国产精品www一本| 国产一区二区三区日韩欧美| 永久免费看mv网站入口78| 91p九色成人| 一区二区三区日韩欧美| 亚洲激情免费视频| 黄色片免费在线| 久久久久国产精品麻豆| 亚洲尤物视频网| 国内精品久久久久久久久久久| 国产一区二区调教| 日韩美女视频免费看| 全网免费在线播放视频入口| 午夜欧洲一区| 亚洲人成网站在线播| 久久久精品人妻一区二区三区| 麻豆一区在线| 亚洲国产精品va在线看黑人动漫| 欧美成年人视频在线观看| 国产高清中文字幕在线| 亚洲色图欧美偷拍| 婷婷久久五月天| 五月婷婷六月丁香| 粉嫩aⅴ一区二区三区四区五区 | 香蕉久久99| 在线观看久久av| 大地资源二中文在线影视观看| 最新亚洲国产| 色噜噜狠狠色综合中国| 污视频网站观看| 亚洲日本视频在线| 亚洲人成电影网站色www| 免费黄色激情视频| 精品国产乱码久久久久久果冻传媒 | 日本一区二区不卡| 中文字幕在线观看欧美| 亚洲免费影视| 成人免费福利视频| 最新中文字幕第一页| 激情五月婷婷综合| 国产精品自拍偷拍| 成人免费视频国产| 国产一区二区女| 久久国产精品一区二区三区四区| 成a人v在线播放| 久久久国产综合精品女国产盗摄| 亚洲一区高清| 婷婷五月在线视频| 国产精品欧美精品| 日本a视频在线观看| 亚洲丝袜一区| 亚洲九九爱视频| 欧美另类videos| 成人亚洲欧美| 色婷婷久久久久swag精品| 国产美女网站在线观看| av资源新版天堂在线| 亚洲福利一区二区| 一二三四视频社区在线| 精品国产美女a久久9999| 亚洲电影免费观看| 91狠狠综合久久久| 久久久久欧美精品| 国产精品美女www爽爽爽视频| 无码人妻丰满熟妇区五十路 | 欧美人妖视频| 日韩久久精品电影| 美女100%无挡| 18成人免费观看视频| 97视频免费在线观看| 国产精品2020| 国产又粗又猛又爽又黄91精品| 欧美日韩精品久久久免费观看| 国产永久免费高清在线观看视频| 亚洲国产另类av| 男人操女人下面视频| 国产精品香蕉| 亚洲男人天堂2023| 手机av在线不卡| 欧美国内亚洲| 1769国产精品| 在线观看毛片av| 国产盗摄视频一区二区三区| 艳色歌舞团一区二区三区| 丝袜美腿一区| 日韩欧美激情四射| 久久人人爽人人爽人人片| 国内精品美女在线观看| 91高清免费视频| 欧美一级做性受免费大片免费| 一卡二卡三卡日韩欧美| 日本日本19xxxⅹhd乱影响| 视频二区不卡| 亚洲深夜福利在线| 亚洲毛片一区二区三区| 91美女视频网站| 一区二区三区电影| 欧美综合社区国产| 亚洲精品一区二区三区香蕉| 丝袜美腿中文字幕| 中文字幕一区二区三区欧美日韩| 69视频在线播放| 视频一区二区三区在线看免费看| 国产精品嫩草99a| 激情视频免费网站| 亚洲a在线视频| 日本高清视频精品| 国产免费视频在线| 亚洲成人av电影| 黄色录像a级片| 婷婷六月综合| 日本不卡免费高清视频| 国产区视频在线播放| 欧美日本国产视频| 亚洲第一成人网站| 日韩二区三区四区| 韩国精品一区二区三区六区色诱| 免费av毛片在线看| 日本高清不卡在线观看| 战狼4完整免费观看在线播放版| 亚洲国内欧美| 青青成人在线| 国产夫妻在线播放| 中文字幕精品在线视频| 久久久久99精品成人片我成大片| 国产黄色成人av| 免费在线激情视频| 欧美成人自拍| 国产精品成久久久久三级| 理论片中文字幕| 一区二区三区不卡在线观看| 久久午夜夜伦鲁鲁片| 人禽交欧美网站| 国产91一区二区三区| 77777影视视频在线观看| 五月天久久比比资源色| 91黄色在线看| 国产一区二区三区亚洲综合 | 国产三级漂亮女教师| 99re亚洲国产精品| 激情五月开心婷婷| 欧美精品成人| 欧美日韩综合另类| 国产精品一区免费在线| 久久久久久12| 欧美成人性生活视频| 精品蜜桃在线看| 亚洲精品成人在线视频| 久久奇米777| 国产精品自拍片| 日韩综合在线| 国产精品视频精品视频| 在线网址91| 中文国产亚洲喷潮| 蜜桃视频污在线观看| 欧美图区在线视频| 日本一区二区视频在线播放| 久久天堂成人| 牛人盗摄一区二区三区视频| 国产不卡人人| 不用播放器成人网| av片免费播放| 欧美午夜影院一区| 免费一级特黄特色大片| 一区视频在线播放| 亚洲高清在线不卡| 91精品国产自产在线观看永久∴| 精品国产电影| 国产在线不卡一区二区三区| 久久久久久有精品国产| av免费在线免费| 在线观看欧美日韩国产| 日韩中文字幕观看| 日韩一卡二卡三卡| 国产精品嫩草影院精东| 欧美午夜一区二区三区| 伊人手机在线视频| 岛国av一区二区三区| 久草视频中文在线| 国产一区二区电影| 日本三区在线观看| 先锋资源久久| 涩涩涩999| 亚洲精品国模| 国产精品第10页| 亚洲天堂资源| 91高清免费视频| caoprom在线| 国内自拍欧美激情| 丝袜综合欧美| 九九热精品视频国产| 天天影院图片亚洲| 亚洲男人天堂古典| 酒色婷婷桃色成人免费av网| 欧洲视频一区二区| 国产天堂第一区| 一本大道综合伊人精品热热| a v视频在线观看| 亚洲3atv精品一区二区三区| 国内精品卡一卡二卡三| 久久亚洲欧美国产精品乐播| 亚洲天堂美女视频| 青青草97国产精品免费观看 | 成人高潮成人免费观看| 国产亚洲精品久久久久久牛牛| 欧美成人免费| 亚洲性生活视频在线观看| 午夜激情视频在线观看| 久久精品最新地址| 一色桃子av在线| 国内精品视频久久| av高清不卡| 国产精品美女主播| 日韩一级特黄| 99国产在线| 国产免费拔擦拔擦8x高清在线人| 韩国视频理论视频久久| 免费毛片b在线观看| 久久91精品国产| 超免费在线视频| 在线观看国产欧美| 二区三区在线观看| 中国china体内裑精亚洲片| 91涩漫在线观看| 九九热这里只有精品6| 丝袜美腿av在线| 欧美一级电影免费在线观看| 尤物网址在线观看| 久热精品在线视频| 免费在线国产视频| 国产成人一区二区三区电影| 久久久久久久性潮| 成人欧美一区二区三区黑人| 老牛精品亚洲成av人片| 日韩少妇中文字幕| 综合久久婷婷| 欧美性猛交久久久乱大交小说| 精品一区免费av| 99精品人妻少妇一区二区| 欧美人成在线| 999香蕉视频| 狠狠色丁香久久婷婷综| 国产精品熟妇一区二区三区四区| 国产日韩一级二级三级| 欧美黑人一级片| 色先锋久久av资源部| www.久久久久久久久久| 亚洲欧洲成视频免费观看| 超碰电影在线播放| 高清一区二区三区四区五区| 青青国产精品| 久久天堂国产精品| 亚洲自拍偷拍网| 一区二区三区免费播放| 成人成人成人在线视频| 制服丨自拍丨欧美丨动漫丨| 亚洲一级片在线观看| 殴美一级黄色片| 午夜成人在线视频| 国产又大又黑又粗| 国产一区二区三区在线视频| 2020国产在线| 91亚洲精品一区二区| 在线精品国产亚洲| 日韩一区国产在线观看| 精品91久久久久| 日本大片免费看| 午夜欧美精品久久久久久久| 成人免费无码av| 精品影视av免费| 香蕉成人在线视频| 色婷婷一区二区三区四区| 国产黄色一级大片| 久久国产精品久久久| 免费观看久久久久| 国产成人精品av在线| 日韩av三区| 无码人妻少妇伦在线电影| 久草热8精品视频在线观看| 黄免费在线观看| 精品国产乱码久久久久久虫虫漫画| 中文字幕视频二区| 伊人青青综合网站| 欧美精品高清| 久久久福利视频| 美女黄色成人网| 国产精品一区二区人妻喷水| 亚洲色图欧洲色图| 午夜久久久久久噜噜噜噜| 久久夜精品va视频免费观看| 成人黄色图片网站| 亚洲国产精品一区在线观看不卡| 视频一区在线视频| 成人免费视频入口| 欧美色综合天天久久综合精品| 一级黄色片免费看| 亚洲成人av在线播放| av免费在线网站| 亚洲最大的免费| 精品动漫3d一区二区三区免费版| 黑人无套内谢中国美女| 亚洲免费电影在线| 少妇精品高潮欲妇又嫩中文字幕| 日韩精品中文字幕在线播放| 男女羞羞在线观看| 天堂资源在线亚洲资源| 久久99国产乱子伦精品免费| 五月天免费网站| 精品美女一区二区| sis001亚洲原创区| 国偷自产av一区二区三区小尤奈| 夜夜嗨网站十八久久| xxxx在线免费观看| 最近中文字幕一区二区三区| 精品人妻aV中文字幕乱码色欲| 欧美贵妇videos办公室| 国产一区二区在线视频你懂的| 国产精品免费成人| 中文字幕不卡在线观看| 天天做夜夜爱爱爱| 精品91自产拍在线观看一区| 蜜桃视频动漫在线播放| 日韩三级在线播放| 丁香婷婷综合激情五月色| 国产又粗又猛又爽又黄的视频四季 | 欧美一区二区三区播放老司机| 在线中文字幕-区二区三区四区| 久久66热这里只有精品| 免费看黄色91| 久久精品久久国产| 亚洲品质视频自拍网| 日韩三级成人| 免费黄色日本网站| 国产精品萝li| 四季av日韩精品一区|