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:data
options: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:data
options:NSJSONReadingAllowFragments error:nil];
[self reloadView:resDict];
}
}
使用ASIFormDataRequest需要引入標頭檔案ASIFormDataRequest.h。
如果我們想傳送除了GET和POST以外的其它請求方法,可以使用[request setRequestMethod:@"PUT"]語句設定,其中PUT是請求方法。
相關文章
- iOS開發那些事-iOS網路程式設計同步GET方法請求程式設計iOS程式設計
- iOS開發那些事-iOS網路程式設計非同步GET方法請求程式設計iOS程式設計非同步
- iOS 同步請求 非同步請求 GET請求 POST請求iOS非同步
- Android網路請求(終) 網路請求框架RetrofitAndroid框架
- Android網路請求(3) 網路請求框架OkHttpAndroid框架HTTP
- iOS原生網路請求iOS
- Android網路請求(4) 網路請求框架VolleyAndroid框架
- Android Http請求框架二:xUtils 框架網路請求AndroidHTTP框架
- ios-APP重構之路(一) 網路請求框架iOSAPP框架
- 網路請求框架對比框架
- iOS 使用Moya網路請求iOS
- iOS網路請求穿值iOS
- ios ASIHttpLib 同步請求和非同步請求iOSHTTP非同步
- Flutter 網路請求框架封裝Flutter框架封裝
- 多個網路請求的介面設計
- flutter網路請求框架dio基本使用Flutter框架
- MVVM框架的搭建(三)——網路請求MVVM框架
- 十. Axios網路請求封裝iOS封裝
- IOS網路請求報錯返回碼iOS
- iOS 網路請求資料快取iOS快取
- okhttp網路請求框架的簡單使用HTTP框架
- Axios 非同步請求用法解析iOS非同步
- Android Volley 非同步網路請求分析Android非同步
- vue(24)網路請求模組axios使用VueiOS
- iOS 網路請求之multipart/form-dataiOSORM
- 造輪子 | 如何設計一個面向協議的 iOS 網路請求庫協議iOS
- 小程式系列之網路請求
- 小程式-網路請求封裝封裝
- retrofit網路請求框架的地址及方法地址框架
- 網路請求-手把手實現axiosiOS
- Axios 原始碼解讀 —— 網路請求篇iOS原始碼
- iOS for 迴圈內網路請求的處理iOS內網
- iOS--React Native網路請求外掛iOSReact Native
- iOS 多網路請求的執行緒安全iOS執行緒
- 網路請求了
- 網路請求優化之取消請求優化
- 網路請求框架之Retrofit2.0基本講解框架
- 網路程式設計基礎,模擬get post請求程式設計