betway必威手机版 > 计算机应用 > ios开发-get和post,ios开发-getpost

原标题:ios开发-get和post,ios开发-getpost

浏览次数:155 时间:2019-11-30

iOS开采,怎设置post异步超时?

ios异步呈请的话能够动用系统本人的,也能够选取第三方的,系统本人的急需安装某件事物,比较麻烦,提出是用第三方类库ASI 给您二个上传图片的亲自去做: NSUQashqaiL *url = [NSURL URLWithString:[NSString stringWithFormat:@"91iu.com/cutpic/shearPic"]];
NSData * data = nil;
data = UIImagePNGRepresentation(image);
if (!data) {
data = UIImageJPEGRepresentation(image, 1);
}

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
request.requestMethod = @"POST";
request.timeOutSeconds = 20;
request.delegate = self;
[request setData:data withFileName:@"11.jpg" andContentType:@"image/jpg" forKey:@"pic"];
[request startSynchronous];  

 

ios开发-get和post,ios开发-getpost

直接上代码:

演示:(在storyboard中拖五个控件textField、多少个UIButton,连线(userNameText、password、login))

@interface ViewController()

@property(nonatomic,weak)IBOutlet UITextField *userNameText;

@property(nonatomic,weak)IBOutlet UITextField *passWord;

@end

 

-(IBAction)login

{

  [self postLoginWithUserName:self.userNameText.text  password:self.passWord.text];

}

post登陆

-(void)postLoginWithUserName:(NSString *)userName  password:(NSString *)password
{

  //1.url

  NSURL *url = [NSURL URLWithString:@"];

  //2.request

  NSMutableNSURLRequest *request = [NSMutableNSURLRequest requestWithURL:url];

  //对于post诉求的多少题要和request一齐提交

  request.HTTPMethod = @"POST";

 

  //策画数据题

  NSString *bodyString = [NSString *stringWithFormat:@"username=%@&password=%@",username,password];

  //设置二进制数据

  request.HTTPBody = [bodyString dataUsingEncoding:NSUTF8StringEncoding];

  

 

  //3.发送互联网连接,获取二进制数据

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

 NSString *result = [NSString alloc]initWithData:data encoding:NSUTF8Encoding];

}

 

 

 

 

get登陆

-(void)getLoginWithUserName:(NSString *)userName  password:(NSString *)password

{

  //1.url

  NSString *urlString = [NSString stringWithFormat:@" = %@&password = %@",userName,password];

  //百分号转义

  urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

  NSURL *url = [NSURL URLWithString:urlString];

  //2.request

  NSURLRequest *request = [NSURLRequest requestWithURL:url];

  //3.发送网络连接,获取二进制数据

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

  NSString *result = [NSString alloc]initWithData:data encoding:NSUTF8Encoding];

}

 

小结:

1.

get:

= %@&password = %@

= 参数数值&(继续接参数卡塔尔国变量名 = 数值

post

2.request

get:什么都没有必要管理,因为参数已经在U帕JeroL中钦定了

post:钦点访谈方法

  HTTPMethod = @"post";

  

  钦点二进制数据

  HTTPBody = 参数字符串的二进制数据

 

3.NSURLConnection 异步

get和post一样

 

在其实互联网开采中,真正会产生变化的地点就在号令

 

    NSURL *url = [NSURL URLWithString:@"];

如果在iOS项目中POST?

本条得看您post的是何等事物,你服务器收到的是何等东西,若是是简约的字符串,直接交给就ok了,没有须要安装头怎么的。即使是任何的公文的东西你大概要效仿表单提交,那一个得看你们服务器是不是能支撑了。  

直接上代码: 示例:(在storyboard中拖几个控件textField、八个UIButton,连线(userNameText、password、login)) @...

        NSLog(@"%@",response);

        NSLog(@"%@ %@",info[@"showapi_res_body"][@"city"],info[@"showapi_res_body"][@"name"]);

    [super viewDidLoad];

}

   (2)get的安全性比post要差相当的少,假使带有机密乖巧消息,提议用post

//    HTTPBody 须要的是data类型的数据

    NSDictionary *dic = @{@"PlatformType":@"3"};

@implementation ViewController

//    imageView.image = [UIImage imageWithData:data];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];

//通过U福特ExplorerL 获得UOdysseyL里面包车型客车剧情(字符串)

    // Dispose of any resources that can be recreated.

 

@interface ViewController ()

#import "ViewController.h"

 

    request.HTTPMethod = @"POST";

        imageView.image = [UIImage imageWithData:data];

       2.会把伏乞的音信暴光在接口里面

 post 参数全体坐落于诉求体中 那样就确定保证了  数据安全  且还未具体的长度限定(唯生机勃勃的约束 正是 服务器的承当技能)

//    NSOperationQueue 线程

    NSString *urlString = [NSString stringWithFormat:@"%@?%@",interFaceString,requestContentString];

    [self.view addSubview:imageView];

//post请求

//    实例化 哀告对象 里面带领着 央求的地点

//同步必要:等有着操作 完全实施落成 才会继续试行

//        把data 转换成json文件

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

    

//    cachePolicy 缓存内容的办法

 

    NSString *interFaceString = @"";

//    可变央求 能够增加 央求形式 以至号令的乞请头 或然 越多

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

- (void)didReceiveMemoryWarning {

 Ip探究对应网络层 , TCP切磋对应传输层, 而HTTP合计对应应用层(识别数据内容)

    NSData *data = [NSData dataWithContentsOfURL:url];

 

 使用HTTP的好处:

 

    imageView.contentMode = UIViewContentModeScaleToFill;

 HTTP的通讯进度

- (void)loadData1{

    imageView.image = [UIImage imageWithData:data];

    //    实例化 央浼对象 里面指导着 乞求的地点

    NSOperationQueue *queue = [[NSOperationQueue alloc]init];

 选择get和post的建议

}

//    NSUTF8StringEncoding 二个编码格式

    NSURL *url = [NSURL URLWithString:@"];

 

    NSLog(@"%@",content);

//         缺欠; 会遇到 假死的意况 (只要伏乞的操作 未有实行达成就不会去响应同一线程里的其余事件)

 

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];

    

 

 

 get特征:1.浏览器和服务器对U途达L长度有节制,因而在U奥迪Q5L前边附带的参数是有节制的,平常无法超过1kb

        

//    把apikey 发送给服务器 内定的伸手头 地方

 

//    须要 通过 链接 异步发送央求

    

//同步伏乞

    UIImageView *imageView = [[UIImageView alloc]initWithFrame:self.view.frame];

 

 */

//    设置乞求的参数

//    设置HTTP的伸手格局

    NSString *content = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];

    

 http磋商的效果

    NSString *apiKey = @"e7f5ac9e7c42a6c8cb125ee1d7e8779e";

//    发送贰个异步诉求 在queue 那个线程里面去实践

@end

        

   (1)轻易火速 :因为HTTP的左券轻巧,所以HTTP服务器程序规模小 由此通讯速度快

//        解析 json 文件

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

    

 get  会把伏乞的内容 拼接到链接 地址里面(暗中认可的数量必要是get)

//    PlatformType 设备项目 3表示IOS设备

        NSLog(@"%@",request);

        NSLog(@"===%@",info);

    UIImageView *imageView = [[UIImageView alloc]initWithFrame:self.view.frame];

 

}

//    HTTPMethod 钦点HTTP的伸内衣模特式

本文由betway必威手机版发布于计算机应用,转载请注明出处:ios开发-get和post,ios开发-getpost

关键词:

上一篇:用NTP保护记录犯罪证据的安全日志时间

下一篇:没有了