在ASIHTTPRequest框架中與HTTP請(qǐng)求相關(guān)的類(lèi)有:ASIHTTPRequest和ASIFormDataRequest,其中最常用的是ASIHTTPRequest,ASIFormDataRequest是ASIHTTPRequest的子類(lèi),ASIFormDataRequest可以發(fā)送類(lèi)似與HTML表單數(shù)據(jù),也可以上傳數(shù)據(jù),默認(rèn)采用POST請(qǐng)求方法。也可以其它的HTTP請(qǐng)求方法。它們都可以進(jìn)行異步或同步請(qǐng)求。下面我們從最簡(jiǎn)單的GET同步請(qǐng)求介紹。
1、實(shí)現(xiàn)GET同步請(qǐng)求
實(shí)現(xiàn)GET同步請(qǐng)求使用最基本請(qǐng)求類(lèi)ASIHTTPRequest就可以了。我們還是使用MyNotes應(yīng)用為例,只考慮查詢(xún)功能實(shí)現(xiàn),修改主視圖控制器MasterViewController.m的startRequest方法如下:
成都創(chuàng)新互聯(lián)10多年成都定制網(wǎng)站服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及高端網(wǎng)站定制服務(wù),成都定制網(wǎng)站及推廣,對(duì)紗窗等多個(gè)領(lǐng)域擁有豐富的網(wǎng)站推廣經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。
- -(void)startRequest
- {
- NSString *strURL = [[NSString alloc] initWithFormat:
- @”http://iosbook3/mynotes/webservice.php?email=%@&type=%@&action=%@”,
- @”<你的iosbook1.com用戶(hù)郵箱>”,@”JSON”,@”query”];
- NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]];
- ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
- [request startSynchronous];
- NSLog(@”請(qǐng)求完成…”);
- NSError *error = [request error];
- if (!error) {
- //NSString *response = [request responseString];
- NSData *data = [request responseData];
- NSDictionary *resDict = [NSJSONSerialization JSONObjectWithData:data
- options:NSJSONReadingAllowFragments error:nil];
- [self reloadView:resDict];
- }
- }
使用ASIHTTPRequest類(lèi),需要引入頭文件ASIHTTPRequest.h。
2、實(shí)現(xiàn)POST同步請(qǐng)求
發(fā)送POST方法的請(qǐng)求,無(wú)論同步還是異步請(qǐng)求都是使用ASIFormDataRequest類(lèi),只不過(guò)它們稍微有些不同。本節(jié)我們只介紹同步請(qǐng)求下使用ASIFormDataRequest類(lèi)來(lái)發(fā)送POST方法。修改主視圖控制器MasterViewController.m的startRequest方法如下:
- -(void)startRequest
- {
- NSString *strURL = @”http://iosbook3/mynotes/webservice.php”;
- NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]];
- ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
- [request setPostValue:@ "<你的iosbook1.com用戶(hù)郵箱>" forKey:@"email"]; ③
- [request setPostValue:@"JSON" forKey:@"type"];
- [request setPostValue:@"query" forKey:@"action"];
- [request startSynchronous];
- NSLog(@”請(qǐng)求完成…”);
- NSError *error = [request error];
- if (!error) {
- //NSString *response = [request responseString];
- NSData *data = [request responseData];
- NSDictionary *resDict = [NSJSONSerialization JSONObjectWithData:data
- options:NSJSONReadingAllowFragments error:nil];
- [self reloadView:resDict];
- }
- }
使用ASIFormDataRequest需要引入頭文件ASIFormDataRequest.h。
如果我們想發(fā)送除了GET和POST以外的其它請(qǐng)求方法,可以使用[request setRequestMethod:@"PUT"]語(yǔ)句設(shè)置,其中PUT是請(qǐng)求方法。
網(wǎng)頁(yè)名稱(chēng):iOS網(wǎng)絡(luò)編程-ASIHTTPRequest框架同步請(qǐng)求
文章轉(zhuǎn)載:http://sd-ha.com/article42/pchghc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣、域名注冊(cè)、服務(wù)器托管、商城網(wǎng)站、微信公眾號(hào)、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)