生活随笔
收集整理的這篇文章主要介紹了
iOS网络编程-ASIHTTPRequest框架同步请求
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在ASIHTTPRequest框架中與HTTP請求相關的類有:ASIHTTPRequest和ASIFormDataRequest,其中最常用的是ASIHTTPRequest,ASIFormDataRequest是ASIHTTPRequest的子類,ASIFormDataRequest可以發送類似與HTML表單數據,也可以上傳數據,默認采用POST請求方法。也可以其它的HTTP請求方法。它們都可以進行異步或同步請求。下面我們從最簡單的GET同步請求介紹。
1、實現GET同步請求
實現GET同步請求使用最基本請求類ASIHTTPRequest就可以了。我們還是使用MyNotes應用為例,只考慮查詢功能實現,修改主視圖控制器MasterViewController.m的startRequest方法如下:
-(
void)startRequest{NSString *strURL =
[[NSString alloc] initWithFormat:@”http://iosbook3/mynotes/webservice.php?email=%@&type=%@&action=%@”,
@”<你的iosbook1.com用戶郵箱>
”,@”JSON”,@”query”];NSURL *url =
[NSURL URLWithString:[strURL URLEncodedString]];ASIHTTPRequest *request =
[ASIHTTPRequest requestWithURL:url];[request startSynchronous];NSLog(@”請求完成…”);NSError *error =
[request error];if (!
error) {//NSString *response = [request responseString];
NSData *data =
[request responseData];NSDictionary *resDict =
[NSJSONSerialization JSONObjectWithData:dataoptions:NSJSONReadingAllowFragments error:nil];[self reloadView:resDict];}} ?
使用ASIHTTPRequest類,需要引入頭文件ASIHTTPRequest.h。
2、實現POST同步請求
發送POST方法的請求,無論同步還是異步請求都是使用ASIFormDataRequest類,只不過它們稍微有些不同。本節我們只介紹同步請求下使用ASIFormDataRequest類來發送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用戶郵箱>" forKey:
@"email"]; ③[request setPostValue:@"JSON" forKey:
@"type"];[request setPostValue:@"query" forKey:
@"action"];[request startSynchronous];NSLog(@”請求完成…”);NSError *error =
[request error];if (!
error) {//NSString *response = [request responseString];
NSData *data =
[request responseData];NSDictionary *resDict =
[NSJSONSerialization JSONObjectWithData:dataoptions:NSJSONReadingAllowFragments error:nil];[self reloadView:resDict];}} ?
使用ASIFormDataRequest需要引入頭文件ASIFormDataRequest.h。
如果我們想發送除了GET和POST以外的其它請求方法,可以使用[request setRequestMethod:@"PUT"]語句設置,其中PUT是請求方法。
轉載于:https://www.cnblogs.com/iOS-Blog/archive/2013/04/01/2992691.html
總結
以上是生活随笔為你收集整理的iOS网络编程-ASIHTTPRequest框架同步请求的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。