iOS_POST_網路請求

來源:互聯網
上載者:User

iOS_POST_網路請求

同步的 post 請求

#pragma mark - 同步的 post 請求- (IBAction)POSTSynButtonDidClicked:(UIButton *)sender {    // 1、拼接 baseUrlString    NSString *baseUrlString = @http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx;    // 2、根據字串建立 URL(統一資源定位器)    NSURL *url = [NSURL URLWithString:baseUrlString];    // 3、建立可變的 request 對象    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];    // 1> 佈建要求類型為 POST (預設為 GET)    [request setHTTPMethod:@POST];    // 2> 需要設定 POST 參數    NSString *bodyString = @date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213;    // 把字串轉化為 NSData    NSData *bodyData = [bodyString dataUsingEncoding:NSUTF8StringEncoding];    [request setHTTPBody:bodyData];    // 4、請求資料(同步)    NSData *receiveData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];    // 5、系統內建json解析    NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:receiveData options:(NSJSONReadingMutableContainers) error:nil];    NSArray *array = dict[@news];    self.newsArray = [NSMutableArray array];    for (NSDictionary *smallDict in array) {        NewsModal *modal = [[NewsModal alloc] init];        [modal setValuesForKeysWithDictionary:smallDict];        [self.newsArray addObject:modal];    }    for (NewsModal *modal in self.newsArray) {        NSLog(@%@, modal.title);    }}

非同步 post 請求

#pragma mark - 非同步 post 請求- (IBAction)POSTAsynButtonDidClicked:(UIButton *)sender {    // 1、拼接 baseUrlString    NSString *baseUrlString = @http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx;    // 2、根據字串建立 url(統一資源定位器)    NSURL *url = [NSURL URLWithString:baseUrlString];    // 3、建立可變 request 對象    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];    // 設定 request 對象的相關屬性    // 1>設定預設請求類型為 POST    [request setHTTPMethod:@POST];    // 2>設定POST參數    NSString *bodyString = @date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213;    // 3>把字串轉化為 NSData    NSData *bodyData = [bodyString dataUsingEncoding:NSUTF8StringEncoding];    [request setHTTPBody:bodyData];    // 4、請求資料(非同步)    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {        // 5、系統內建json解析        NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingMutableContainers) error:nil];        NSArray *array = dict[@news];        self.newsArray = [NSMutableArray array];        for (NSDictionary *smallDict in array) {            NewsModal *modal = [[NewsModal alloc] init];            [modal setValuesForKeysWithDictionary:smallDict];            [self.newsArray addObject:modal];        }        for (NewsModal *modal in self.newsArray) {            NSLog(@%@, modal.title);        }        // 對 tableView 進行 reloadData 否則第一次不顯示內容    }];}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.