网络demo

普通网络请求

// Do any additional setup after loading the view, typically from a nib.
    AFHTTPRequestOperationManager *man = [AFHTTPRequestOperationManager manager];
    //data  string
    //data  json  xml
    //man  下载回来的数据类型  默认 json
    //修改返回数据类型
    //data   AFHTTPResponseSerializer
    //json   AFJSONResponseSerializer
    //XML    AFXMLParserResponseSerializer
    man.responseSerializer = [AFHTTPResponseSerializer serializer];
    //url  username
    //responseObject 返回数据
    AFHTTPRequestOperation *op = [man GET:@"http://map.onegreen.net/%E4%B8%AD%E5%9B%BD%E6%94%BF%E5%8C%BA2500.jpg" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
        [responseObject writeToFile:@"/Users/lcy/Desktop/test.png" atomically:YES];
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"123");
    }];
    
    //本次 bytesRead
    [op setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) {
        NSLog(@"%lu %lld %lld",bytesRead,totalBytesRead,totalBytesExpectedToRead);
    }];

上传

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    //NSLog(@"%@",info);
    //获取点击图片
    self.imageView.image = info[UIImagePickerControllerOriginalImage];
    
    AFHTTPRequestOperationManager *man = [AFHTTPRequestOperationManager manager];
    man.responseSerializer = [AFHTTPResponseSerializer serializer];
    
    [man POST:@"http://10.0.8.8/sns/my/upload_headimage.php" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
        //name   服务器设定的
        [formData appendPartWithFileData:UIImagePNGRepresentation(info[UIImagePickerControllerOriginalImage]) name:@"headimage" fileName:@"test.png" mimeType:@"image/jpeg"];
    } success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"%@",[NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil][@"message"]);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        
    }];
    
    [picker dismissViewControllerAnimated:YES completion:^{
        
    }];
}



原生请求

#import "ViewController.h"

//登录   ---> url?username=zhangsan&pass=123456
//数据安全

//数据大小   1024   1MB  10Mb
//http  GET   POST 请求头  请求体  PUT(增)   Delete
//http  ----> url

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    //get
#if 0
    NSURL *url = [NSURL URLWithString:@"http://api.douban.com/v2/movie/top250?start=0&count=20&apikey=02d830457f4a8f6d088890d07ddfae47"];
    
    NSURLRequest *requset = [NSURLRequest requestWithURL:url];
    
    NSData *data = [NSURLConnection sendSynchronousRequest:requset returningResponse:nil error:nil];
    
    NSLog(@"%@",[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]);
#endif
    
    //post
    NSURL *postURl = [NSURL URLWithString:@"http://api.douban.com/v2/movie/top250"];
    NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:postURl];
    //设置请求方式  post
    [req setHTTPMethod:@"POST"];
    
    NSString *arg = @"start=20&count=20&apikey=02d830457f4a8f6d088890d07ddfae47";
    //设置请求体的内容
    [req setHTTPBody:[arg dataUsingEncoding:NSUTF8StringEncoding]];
    
    //设置请求头
    [req setValue:@"sadfasdfaf" forHTTPHeaderField:@"asfa"];
    
    NSData *data = [NSURLConnection sendSynchronousRequest:req returningResponse:nil error:nil];
    
    NSLog(@"%@",[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]);
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值