zoukankan      html  css  js  c++  java
  • GET和POST解析

    //

    //  ViewController.m

    //  Lesson_16_class

    //

    //  Created by 李洪鹏 on 15/7/21.

    //  Copyright (c) 2015 李洪鹏. All rights reserved.

    //

     

    #import "ViewController.h"

    #import "NewsModel.h"

     

    @interface ViewController ()

     

    @property (nonatomic, strong)NSMutableArray *DataArray;

     

    @end

     

    @implementation ViewController

     

    - (void)viewDidLoad {

        [super viewDidLoad];

        // Do any additional setup after loading the view, typically from a nib.

    }

     

     

    //GET请求的同步方式

    - (IBAction)GETSynButton:(UIButton *)sender {

        

        NSString *urlString = @"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213";

        

        //如果上述网址里面有汉字需要

        urlString  = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        

        //根据字符串创建url

        NSURL *url = [NSURL URLWithString:urlString];

        

        //根据url 创建request 请求类的对象

        NSURLRequest *request = [NSURLRequest requestWithURL:url];

        //开始请求网络,请求数据

        

        NSData *receiveData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

        //系统自带的json解析

        NSDictionary *dict =[NSJSONSerialization JSONObjectWithData:receiveData options:NSJSONReadingMutableContainers error:nil];

        

        

        NSArray *array = dict[@"news"];

        for (NSDictionary *dict1 in array) {

            NewsModel *m = [NewsModel new];

            [m setValuesForKeysWithDictionary:dict1];

            [_DataArray addObject:m];

            

            

        }

        NSLog(@"%@", _DataArray);

        //置为空

        _DataArray  =  nil;

        

    }

     

    //GET的异步请求

    - (IBAction)GETAsynButton:(UIButton *)sender {

        

        NSString *urlstring = @"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213";

     

        //根据字符串创建url(统一资源定位符)

        NSURL *url = [NSURL URLWithString:urlstring];

        //根据url去创建NSURLRequest

        NSURLRequest *request = [NSURLRequest requestWithURL:url];

        

        //开始解析

        [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {

            

            NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

            

            NSLog(@"%@", dict);

            

            //异步的时候不能把字典添加到数组中

    //        NSArray *array = dict[@"news"];

    //        for (NSDictionary *dict2 in array) {

    //            NewsModel *m2 = [NewsModel new];

    //            [m2 setValuesForKeysWithDictionary:dict2];

    //            [_DataArray addObject:m2];

    //        }

            

            

        }];

        

    }

     

    //POST同步请求

    - (IBAction)PSOTSynButton:(UIButton *)sender {

        

        NSString *baseString = @"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?";

        

        NSURL *url = [NSURL URLWithString:baseString];

        //创建可变的request 对象

        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

        //设置请求类型为post

        [request setHTTPMethod:@"POST"];

        //需要设置POST参数

        NSString * bodyString  =  @"date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213";

        NSData *bodyData = [bodyString dataUsingEncoding:NSUTF8StringEncoding];

        [request setHTTPBody:bodyData];

        

    //    请求数据

       NSData *receiveData =  [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

        NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:receiveData options:NSJSONReadingMutableContainers error:nil];

        NSLog(@"%@", dict);

        

    }

     

     

    //POST请求异步方式

    - (IBAction)POSTAsynButton:(UIButton *)sender {

        

        NSString *baseString = @"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?";

        

        NSURL *url = [NSURL URLWithString:baseString];

        

        //创建可变的request 对象

        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

        

        [request setHTTPMethod:@"POST"];

        NSString *bodyString = @"date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213";

       

        NSData *bodyData = [bodyString dataUsingEncoding:NSUTF8StringEncoding];

        

        [request setHTTPBody:bodyData];

        

        [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {

          

            NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

            

            NSLog(@"%@", dict);

            

        }];

        

    }

     

     

     

    - (void)didReceiveMemoryWarning {

        [super didReceiveMemoryWarning];

        // Dispose of any resources that can be recreated.

    }

     

    @end

  • 相关阅读:
    golang中os/user包用法
    golang中os包用法
    与table有关的布局
    jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version
    canvas里调用getImageData的报security的问题
    CSS样式覆盖规则
    windows7文件夹怎样默认图片大图显示?
    Jboss,Tomcat 远程调试配置
    IE(IE6/IE7/IE8)支持HTML5标签
    JS 继承(类式 与 原型式)
  • 原文地址:https://www.cnblogs.com/lhp-1992/p/4664699.html
Copyright © 2011-2022 走看看