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

欧美在线视频一区二区三区| 亚洲2020天天堂在线观看| 最近中文字幕一区二区| 91在线免费看| 精品一区二区在线观看| 精品自在线视频| 中文字幕丰满乱子伦无码专区| 亚洲第一会所001| 国产精品传媒在线| 国内精品一区二区| 在线观看国产黄| 99在线观看免费视频精品观看| 亚洲人成电影在线| 日本r级电影在线观看| 精品极品在线| 亚洲国产精品二十页| 高清视频一区| 91成人在线免费| 国产农村妇女精品一区二区| 久久精品国产一区| 亚洲天堂久久新| 免费一级欧美在线大片| 欧美丝袜美女中出在线| 中文字幕乱码免费| 国产精品久久久久一区二区国产 | 久久久久综合网| 亚洲一区制服诱惑| 亚洲精品91天天久久人人| 欧美午夜免费影院| 丝袜美腿精品国产二区| 精品人妻一区二区三区香蕉| 视频一区在线| 精品视频在线免费看| 美女日批免费视频| 制服丝袜在线播放| 最新国产精品久久精品| 欧美在线一区二区三区四区| 日本黄色免费视频| 国产馆精品极品| 成人免费福利在线| 特级西西444www高清大视频| 亚洲免费一区二区| 欧美国产极速在线| 538任你躁在线精品视频网站| 日本久久精品| 亚洲午夜国产成人av电影男同| 朝桐光av一区二区三区| 国产精品男女| 欧美不卡视频一区| aaaaa黄色片| va天堂va亚洲va影视| 欧美曰成人黄网| www.欧美日本| 精品亚洲美女网站| 黑人精品xxx一区一二区| 很污的网站在线观看| 黄色在线观看视频网站| 亚洲精品va在线观看| 超级碰在线观看| 在线午夜影院| 一区二区三区精品视频| 免费看欧美一级片| 激情网站在线| 亚洲成年人影院| 久久成人免费观看| 亚洲精品永久免费视频| 日韩欧美一区视频| 无码内射中文字幕岛国片| 欧美日韩五码| 欧美另类一区二区三区| 午夜视频在线网站| 亚洲亚洲一区二区三区| 欧美精品一区二区三区一线天视频| 国产一卡二卡三卡四卡| 日本国产精品| 亚洲午夜国产成人av电影男同| 亚洲无人区码一码二码三码的含义| 精品国产精品| 色婷婷**av毛片一区| 国产人妻精品一区二区三区不卡| 亚洲天堂一区二区三区四区| 欧美激情喷水视频| www.国产高清| 精品一区二区三区免费毛片爱| 91久久精品日日躁夜夜躁国产| 国产成人麻豆精品午夜在线| 成人av在线资源| 欧美激情第一页在线观看| 国产欧美69| 欧美中文字幕视频| 一区二区三区午夜| 国产成人99久久亚洲综合精品| 激情一区二区三区| 五月天婷婷在线视频| 亚洲激情av在线| 国产特级黄色大片| 亚洲黑人在线| 亚洲护士老师的毛茸茸最新章节| 欧美黄色一级生活片| 66久久国产| 992tv成人免费视频| 中文字幕人妻互换av久久| 国产aⅴ精品一区二区三区色成熟| 精品一区二区视频| 麻豆网站视频在线观看| 同产精品九九九| 中文字幕av不卡在线| 一区二区三区视频播放| 亚洲视频国产视频| 欧美精品99久久久| 青青国产91久久久久久| 国产精品久久久一区二区三区| www在线免费观看| 亚洲一区二区成人在线观看| 久久精品免费网站| 精品精品国产三级a∨在线| 一本色道久久综合亚洲精品小说 | va视频在线观看| 久久人人97超碰com| 日本xxx免费| 国产一区二区主播在线| 亚洲精品一区二区三区福利| 国产又粗又长又黄的视频| 国产欧美日韩综合一区在线播放 | 一区二区三区黄色片| 99精品视频在线免费观看| 伊人久久大香线蕉综合75| 国产直播在线| 精品免费国产一区二区三区四区| 美国美女黄色片| 亚洲免费影院| 国产一区二区三区奇米久涩| av在线看片| 欧美手机在线视频| 公侵犯人妻一区二区三区| 国产精品xvideos88| 成人日韩av在线| 免费黄色电影在线观看| 欧美主播一区二区三区| 一级性生活大片| 日韩视频一区| 国产伦精品一区| 日本动漫理论片在线观看网站 | 亚洲三级小视频| 天天爱天天操天天干| 日韩欧美ww| 8x拔播拔播x8国产精品| 污污的视频网站在线观看| 亚洲午夜精品网| 国产精品欧美性爱| 国产精品大片| 99国精产品一二二线| 国产黄色在线观看| 日韩欧美专区在线| 欧美交换国产一区内射| 国产99精品视频| 日韩激情视频一区二区| 97视频一区| 69影院欧美专区视频| 午夜黄色小视频| 精品国产成人av| av直播在线观看| 久久精品亚洲| 先锋影音日韩| 99久久这里有精品| 欧美成人中文字幕| 亚洲精品一区二区口爆| 精品久久久中文| 久久久久亚洲av成人无码电影| 久久婷婷麻豆| 性刺激综合网| 精品久久国产一区| 欧美激情中文网| 午夜在线视频观看| 91久久精品一区二区三区| 免费观看特级毛片| 国产精品2024| 男人揉女人奶房视频60分| 日日天天久久| 国产美女高潮久久白浆| 91极品在线| 亚洲国产三级网| 中文字幕一区二区三区四区欧美| 国产精品三级视频| 永久av免费在线观看| 一本色道精品久久一区二区三区| 欧美日韩高清在线一区| 久久久国产精品网站| 精品视频9999| 黄网站在线观看| 91精品午夜视频| 日本中文字幕免费| 国产精品拍天天在线| 亚洲国产日韩在线一区| 亚洲欧美视频| 黄色污污在线观看| 亚洲肉体裸体xxxx137| 91精品国产自产在线| 欧美sm一区| 久久天天躁狠狠躁夜夜躁2014| 日本高清视频免费看| 欧美日韩小视频| 天天操天天射天天爽| 国产精品毛片久久久久久| 日本泡妞xxxx免费视频软件| 日本视频一区二区| 国产手机免费视频| 日韩国产一区二区| 精品久久一区二区三区蜜桃| av在线播放一区二区| 日韩免费在线播放| 色呦呦在线看| 日韩中文字幕免费视频| 欧美新色视频| 精品成人一区二区三区四区| 一级aaaa毛片| 色拍拍在线精品视频8848| 九九视频在线免费观看| 国产精品国产精品国产专区不片| theav精尽人亡av| 国产成人在线网站| 一本一道久久a久久综合蜜桃| 国产一区91| 天堂8在线天堂资源bt| 四季av一区二区凹凸精品| 日本a级片久久久| 精品福利网址导航| 国产高清自拍一区| 日本高清精品| 亚洲曰本av电影| 亚洲成人高清| 国产欧美精品日韩精品| 欧美123区| 国产成人精品a视频一区www| 欧美aa免费在线| 国产最新精品视频| 欧美黄色视屏| 欧美激情精品在线| 日本理论片午伦夜理片在线观看| 色婷婷久久一区二区| 九色视频在线观看免费播放| 亚洲精品视频播放| 香港三日本三级少妇66| 亚洲精品白浆高清久久久久久| 亚洲成人一级片| 91精品国产手机| 国产一区二区三区在线观看 | 久久久久久久久国产| 成人福利片网站| 久久夜精品香蕉| 1769免费视频在线观看| 久久天天躁狠狠躁夜夜躁| 在线中文字幕视频观看| 欧美日韩xxxxx| 国产一线二线在线观看| 久久久久久久国产| 国产h片在线观看| …久久精品99久久香蕉国产| 在线天堂资源| 国产精品吊钟奶在线| 国产成+人+综合+亚洲欧美| 国产日产久久高清欧美一区| 伊人久久大香线蕉综合影院首页| 成人网在线视频| 日韩成人在线看| 成人片在线免费看| 欧美综合精品| 日韩视频精品| 99精品全国免费观看视频软件| 黄色一级片av| 极品av少妇一区二区| 日韩av综合在线观看| 日韩激情视频在线观看| 午夜视频在线网站| 成人午夜精品在线| 亚洲第一综合网| 亚洲色图视频网| 亚洲综合一二三| 欧美亚洲日本国产| 国产av无码专区亚洲av| 亚洲精品久久久久久久久久久久| 男同在线观看| 久久人人爽人人爽爽久久| japanese色国产在线看视频| 国产成人精品久久| 天堂av一区| 免费电影一区| 色琪琪久久se色| 国产 日韩 亚洲 欧美| 日韩成人免费看| 国产精品19p| 国产人成一区二区三区影院| 一区二区国产精品精华液| 亚洲成人在线网站| 91中文字幕在线播放| 亚洲国产成人一区| 99青草视频在线播放视| 久久久噜噜噜久久中文字免| av在线不卡精品| 国产精品一区二区三区免费观看| 国产精品一区二区av交换| 免费的一级黄色片| 蜜臀va亚洲va欧美va天堂| 中文字幕人妻一区| 亚洲国产精品t66y| 国产免费观看av| 日韩情涩欧美日韩视频| av播放在线| 午夜精品久久久久久久99热| 91久久青草| 日韩国产在线一区| 亚洲视频二区| 性高潮久久久久久| 国产精品视频yy9299一区| www亚洲视频| 亚洲电影第1页| 污污视频在线| 成人精品在线视频| 红桃成人av在线播放| a级黄色一级片| 国产成都精品91一区二区三| 麻豆一区在线观看| 色综合久久久久综合体| 香蕉视频免费看| 久久欧美在线电影| 中文成人在线| 永久久久久久| 日韩电影免费在线观看网站| 亚洲第九十七页| 亚洲午夜一区二区| 精品国精品国产自在久不卡| 色偷偷88888欧美精品久久久| 春暖花开亚洲一区二区三区| 精品久久中出| 99视频一区| 黄色污在线观看| 午夜久久电影网| 你懂的网站在线| 九九精品在线视频| 欧美a级大片在线| 精品91一区二区三区| 极品少妇xxxx精品少妇| 99精品中文字幕| 欧美乱熟臀69xxxxxx| 久久综合网导航| 亚洲伊人成综合成人网| 欧美96在线丨欧| 女教师高潮黄又色视频| 亚洲黄色免费电影| 亚洲精品久久久久avwww潮水| 欧美日韩国产成人在线观看| 99久久人爽人人添人人澡| 精品久久久久久无码中文野结衣| 粉嫩蜜臀av国产精品网站| 久一视频在线观看| 亚洲国产中文字幕久久网| 蜜桃视频m3u8在线观看| 久久涩涩网站| 日韩成人伦理电影在线观看| 天天操天天干天天操天天干| 欧美剧情电影在线观看完整版免费励志电影 | 国产自产v一区二区三区c| 成人高潮免费视频| 欧美成人三级在线| 亚洲涩涩在线| 日韩欧美视频一区二区| 久久97超碰国产精品超碰| 亚洲二区在线播放| 亚洲成av人乱码色午夜| 97人人爽人人澡人人精品| 欧美一区免费视频| 麻豆freexxxx性91精品| 玖玖爱免费视频| 亚洲乱码一区av黑人高潮| 国产美女久久| 妞干网在线播放| 久久久久久影视| 国产精品久久久久精| 欧美极品美女视频网站在线观看免费| 麻豆成人入口| 五月婷婷深爱五月| 一区二区三区精密机械公司| 亚洲aaaaaaa| 国产欧美一区二区三区在线| 国语对白精品一区二区| 一区二区精品免费| 91精品婷婷国产综合久久竹菊| 两个人看的在线视频www| 亚洲视频在线二区| 成人av资源在线| 在线观看中文字幕av| 久久久噜噜噜久久久| 91欧美大片| 三级男人添奶爽爽爽视频| 欧美理论电影在线| 草草在线视频| 精品91一区二区三区| 国产亚洲精品免费| 亚洲成人一级片| 国产日韩在线播放|