AFNetworking的POST方法(自带cookie)
来源:互联网 发布:mysql版本区别 编辑:程序博客网 时间:2024/05/21 06:34
AFNetworking的POST方法
1)登录用的POST方法
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; //dict是参数列表,里面元素分别表示:用户名;密码;是否记住密码,1表示不记住密码 ; NSDictionary *dict = @{@"userName": @"admin", @"password": @"GcX365", @"remeberMe": @"1"}; //因为我需要通信的服务器设置的content-type为text/html,所以这里需要设置服务器返回数据的类型,否则AFNetworking会默认反回的数据为json格式; //这里直接调用serializer方法即可; manager.responseSerializer = [AFHTTPResponseSerializer serializer]; //kLoginUrl 登录接口地址 //dict 登录需要的参数字典 [manager POST:kLoginUrl parameters:dict success:^(AFHTTPRequestOperation * operation, id responseObj) { //因为使用的是默认的responseSerializer,所以从服务器返回的数据类型是NSData型 if ([responseObj isKindOfClass:[NSData class]]) { //把NSData转换为字符串 NSString *str = [[NSString alloc] initWithData:responseObj encoding:NSUTF8StringEncoding]; NSLog(@"res:%@", str); } } failure:^(AFHTTPRequestOperation * operation, NSError * error) { NSLog(@"error:%@", error.localizedDescription); }];
2)用POST方法上传数据
有的服务器接口没有参数,这样怎么知道要请求什么数据呢?比如要查找用户的年龄,职业等信息,但是没有用户名怎么查找?其实这种接口是有个默认参数的,就是cookie;
AFNetworking已经自动保存了cookie,我们不需要考虑,直接在POST请求时传nil为参数就好了;
//创建一个图片对象,并把它转换为NSData类型 UIImage *image = [UIImage imageNamed:@"homePage.jpg"]; NSData *uploadData = UIImageJPEGRepresentation(image, 1.0); AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.responseSerializer = [AFHTTPResponseSerializer serializer]; //kUploadUrl 上传文件的接口 [manager POST:kUploadUrl parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData>formData) { // 直接以 key value 的形式向 formData 中追加二进制数据 // 第一个参数是要上传的文件的二进制数据 // name 是服务器订好的文件标识 // fileName 是要保存在服务器上的文件名 // mimeType 是上传文件的类型 [formData appendPartWithFileData:uploadData name:@"uploadify_front" fileName:@"首页原型图.jpg" mimeType:@"image/jpeg"]; }success:^(AFHTTPRequestOperation *operation, id responseObject) { // 成功后的处理 NSLog(@"upload success!\nresponse class:%@", [responseObject class]); //上传成功后,服务器返回一段字符串,但是是NSData类型的 if ([responseObject isKindOfClass:[NSData class]]) { NSString *str = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]; NSLog(@"%@", str); } }failure:^(AFHTTPRequestOperation *operation, NSError *error) { // 失败后的处理 NSLog(@"upload failed!\n%@", error.localizedDescription); }];
0 0
- AFNetworking的POST方法(自带cookie)
- HttpURLConnection 模拟登录方法 (带cookie 的Post/Get)外挂
- nodejs带Cookie的POST操作
- 自带cookie的httpClient请求
- Java: HttpURLConnection 模拟登录方法 (带cookie 的Post/Get)_20160908_七侠镇莫尛貝
- MVC异步AJAX的三种方法(JQuery的Get方法、JQuery的Post方法和微软自带的异步方法)
- php (带cookie)模拟get/post 方法下载excel
- AFNetworking的Post请求
- 使用AFNetworking图片上传post带参数
- js自带的方法
- Monobehaviour自带的方法
- JavaScript的自带方法
- 对AFNetworking简单封装GET,POST请求(block方法)
- ajax 的post方法用例(带循环)
- POST和GET方法的区别(转自:闪吧)
- AFNetworking的POST 、GET请求
- AFNetworking的简单POST使用
- wcf post带参数时的方法
- 循环双链表的删除、插入、显示
- 一起talk GDB吧(第二回:GDB单步调试)
- 【C语言】编写函数实现库函数atoi,把字符串转换成整形
- 最长上升子序列
- C++ Builder XE7 调用JAVA的JAR文件
- AFNetworking的POST方法(自带cookie)
- 关于autorelease pool一个较好的理解
- struts2 java.lang.ClassNotFoundException: org.apache.commons.lang.xwork.StringUtils
- 不要什么都想要,否则你会焦虑
- 上海之行开会感悟
- java中顶级父类Object
- AutoReleasePool 和 ARC 以及Garbage Collection
- 应用程序的生命周期
- MBProgressHUD的基本使用