zoukankan      html  css  js  c++  java
  • ios开发网络请求---get请求post请求

    get请求post请求的简单介绍

    创建get请求,代码如下:

     1 #import "ViewController.h"
     2 
     3 @interface ViewController ()<UITextFieldDelegate>
     4 @property(strong,nonatomic) UITextField *textinfo;
     5 @end
     6 
     7 @implementation ViewController
     8 
     9 - (void)viewDidLoad {
    10     [super viewDidLoad];
    11     self.textinfo=[[UITextField alloc] initWithFrame:CGRectMake(100, 100, 200, 50)];
    12     self.textinfo.borderStyle=1;
    13     [self.textinfo addTarget:self action:@selector(change) forControlEvents:UIControlEventEditingChanged];
    14     [self.view addSubview:self.textinfo];
    15 -(void)change
    16 {
    17     //设置请求路径
    18     NSString *path=[NSString stringWithFormat:@"http://1.studyios.sinaapp.com/gyxy.php?a=%@&b=%@&c=%@",self.textinfo.text,self.textinfo.text,self.textinfo.text];
    19     //封装URL 即 网址
    20     NSURL *url=[[NSURL alloc] initWithString:path];
    21     //    NSData *data=[NSData dataWithContentsOfURL:url];
    22     //创建会话对象
    23     NSURLSession *session=[NSURLSession sharedSession];
    24     //创建请求命令
    25     NSURLRequest *request=[NSURLRequest requestWithURL:url];
    26     //执行会话任务
    27     NSURLSessionDataTask *task=[session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
    28         //json解析
    29         NSArray *array=[NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingMutableLeaves  error:nil];
    30         NSLog(@"%@",array);
    31     }];
    32     //执行真正的任务
    33     [ task resume];
    34 
    35 }

    创建post请求:

     1 #import "ViewController.h"
     2 
     3 @interface ViewController ()
     4 
     5 @end
     6 
     7 @implementation ViewController
     8 
     9 - (void)viewDidLoad {
    10     [super viewDidLoad];
    11     //请求路径
    12     NSString *path=@"http://1.studyios.sinaapp.com/mypost.php";//不需要传参数
    13     //封装URL 即 网址
    14     NSURL *url=[NSURL URLWithString:path];
    15     //创建请求对象request
    16     NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];//默认为get请求
    17     //设置请求超时为5秒
    18     request.timeoutInterval=5.0;
    19     //post请求
    20     request.HTTPMethod=@"POST";
    21     //参数
    22     NSString *param=[NSString stringWithFormat:@"can1=text1&can2=text2"];
    23     //将参数转化成data
    24     NSData *data=[param dataUsingEncoding:NSUTF8StringEncoding];
    25     //request的参数的主体
    26     request.HTTPBody=data;
    27     NSURLSession *session=[NSURLSession sharedSession];
    28     NSURLSessionDataTask *task=[session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
    29         NSArray *arr=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
    30         NSLog(@"%@",arr);
    31     }];
    32     [task resume];
    33 }

    比较

    建议:提交用户的隐私数据一定要使用post请求

    相对post请求而言,get请求的所有参数都直接暴露在URL中,请求的URL一般会记录在服务器的访问日志中,而服务器的访问日志是黑客攻击的重点对象之一

    用户的隐私数据如登录密码,银行账号等。

  • 相关阅读:
    普通百姓如何应对通货膨胀
    经济
    将到来的战略转变:移动 Web 还是移动 Apps?
    ASP.Net 第一天笔记 MVC 控制器与视图数据传递注意事项
    关于阿里云 ETC服务器 端口开放问题
    .net 委托 +lamda表达式
    de4Dot用法 解决 .net程序 reflecter反编译 “索引超出了数组界限”问题
    fastReport.net 初了解
    关于JQuery Ajax 跨域 访问.net WebService
    JQuery AJAX 通过一般处理程序 取列表
  • 原文地址:https://www.cnblogs.com/zhaochaobin/p/5330960.html
Copyright © 2011-2022 走看看