【iOS开发-99】POST四种数据提交方式以及NSURLSession上传任务的一些知识

(1)POST四种数据提交方式

——Content-Type:application/x-www-form-urlencoded,提交的数据格式就是key1=value1&key2=value2的方式。

    NSURL *url=nil;
    NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url cachePolicy:0 timeoutInterval:2.0f];
    NSString *str=[NSString stringWithFormat:@"username=%@&password=%@",self.name,self.pwd];
    [email protected]"POST";
    request.HTTPBody=[str dataUsingEncoding:NSUTF8StringEncoding];
    [NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc]init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {

    }];

——multipart/form-data,常见的上传二进制文件的方式,但是上传文件大小不能超过2M。提交的数据格式比较复杂,如下(这个数据也是提交给request.HTTPBody):

--随便的非中文字符串
Content-Disposition:form-data;name="";filename=""
Content-Type:Mime Type
要上传文件的二进制数据
--随便的非中文字符串
Content-Disposition:form-data;name="submit"
Submit
--随便的非中文字符串--

——application/JSON,利用JSON序列化的结果赋值给HTTPBody,这里可以上传一个对象,当然这个对象需要经过”对象转字典“的处理,和字典转对象相反

id obj=[person dictionaryWithValuesForKeys:@[@"name",@"pwd"]];
request.HTTPBody=[NSJSONSerialization dataWithJSONObject:obj options:0 error:NULL];

——text/XML,web service技术,比较少用

(2)PUT是上传的另一种方法,但是目前PUT和DELETE在国内网站开发很少用,上传一般都是用POST。

(3)NSURLSession与NSURLConnection并列的。

URLSessionConfigration是设置NSURLSession的。NSURLSession可控制3种任务:DataTask,DownloadTask和UploadTask。这些任务创建后都是”挂起“状态,需要用resume”开启“才能运行。

应用案例:

    NSURL *toUrl=nil;
    NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:toUrl cachePolicy:0 timeoutInterval:2.0f];
    [email protected]"PUT";

    //设置用户授权
    NSString *[email protected]"admin:123456";
    NSData *authData=[authStr dataUsingEncoding:NSUTF8StringEncoding];
    NSString *result=[authData base64EncodedStringWithOptions:0];
    NSString *authString=[NSString stringWithFormat:@"Basic %@",result];

    [request setValue:authString forKey:@"Authorization"];

    NSURL *fromUrl=nil;
    NSURLSession *session=[NSURLSession sharedSession];
    NSURLSessionUploadTask *task=[session uploadTaskWithRequest:request fromFile:fromUrl completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

    }];
    [task resume];
时间: 2024-10-29 08:29:24

【iOS开发-99】POST四种数据提交方式以及NSURLSession上传任务的一些知识的相关文章

ios开发中的4种数据持久化方式【二、数据库 SQLite3、Core Data 的运用】

               在上文,我们介绍了ios开发中的其中2种数据持久化方式:属性列表.归档解档.本节将继续介绍另外2种iOS持久化数据的方法:数据库 SQLite3.Core Data 的运用: 在本节,将通过对4个文本框内容的创建.修改,退出后台,再重新回到后台,来认识这两种持久化数据的方式.效果图如下[图1]: [图1 GUI界面效果图] [本次开发环境: Xcode:7.2     iOS Simulator:iphone6S plus   By:啊左]     一.数据库SQL

iOS中常用的四种数据持久化方法简介

iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults standardUserDefaults]就够用了 @interface User : NSObject <NSCoding>@property (nonatomic, assign) NSInteger userID;@property (nonatomic,

iOS 常用四种数据存储方式

iOS 常用四种数据存储方式 在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题.将数据保存到本地,能够让程序的运行更加流畅, ,使得用户体验更好.下面介绍?一下数据保存的方式: 1.NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法.前?一个方法告诉系统怎么对对象进行编码,而后?一个方法则是告诉系统怎么对对象进行解码.例如对Possession对

IOS的四种数据存储方式及优劣

IOS有四种经常使用数据存储方式: 第一种方法:用NSUserDefaults存储配置信息 NSUserDefaults被设计用来存储设备和应用的配置信息.它通过一个工厂方法返回默认的.也是最经常使用到的实例对象. 这个对象中储存了系统中用户的配置信息,开发人员能够通过这个实例对象对这些已有的信息进行改动.也能够依照自己的需求创建新的配置项. 他实际上是存储于文件沙盒中的一个.plist文件,而且没有被系统加密,仅仅是ios6以后不是存于经常使用的文档文件夹下,所以不破解系统是看不到该文件的.所

iOS中常用的四种数据持久化技术

iOS中的数据持久化方式,基本上有以下四种:属性列表 对象归档 SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults standardUserDefaults]就够用了 @interface User : NSObject <NSCoding>@property (nonatomic, assign) NSInteger userID;@property (nonatomic, copy) NSString *nam

IOS的四种数据存储方式和优略

IOS有四种常用数据存储方式: 第一种方法:用NSUserDefaults存储配置信息 NSUserDefaults被设计用来存储设备和应用的配置信息,它通过一个工厂方法返回默认的.也是最常用到的实例对象.这个对象中储存了系统中用户的配置信息,开发者可以通过这个实例对象对这些已有的信息进行修改,也可以按照自己的需求创建新的配置项.他在IOS6之后已经在文件沙盒中看不到它的信息了,所以可以存储机密信息(用户名和密码)密码,防止手机系统被破解后看你的沙盒子文件.一般这种方法存储少量信息,若是存储大量

iOS 四种数据存储方式

NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要 遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法.前一个方法告诉系统怎么对 对象进行编码,而后一个方法则是告诉系统怎么对对象进行解码.例如对Possession对象归档保存. NSUserDefaults:用来保存应用程序设置和属性.用户保存的数 据.用户再次打开程序或开机后这些数据仍然存在.NSUserDefaults可以存储的数据类型包括:NSDat

013-HQL中级3-Hive四种数据导入方式介绍

Hive的几种常见的数据导入方式这里介绍四种:(1).从本地文件系统中导入数据到Hive表:(2).从HDFS上导入数据到Hive表:(3).从别的表中查询出相应的数据并导入到Hive表中:(4).在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中. 一.从本地文件系统中导入数据到Hive表先在Hive里面创建好表,如下: hive> create table wyp > (id int, name string, > age int, tel string) > R

Hive学习(七)Hive四种数据导入方式

Hive的几种常见的数据导入方式 这里介绍四种: (1).从本地文件系统中导入数据到Hive表: (2).从HDFS上导入数据到Hive表: (3).从别的表中查询出相应的数据并导入到Hive表中: (4).在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中. 一.从本地文件系统中导入数据到Hive表 先在Hive里面创建好表,如下: hive> create table wyp > (id int, name string, > age int, tel string)