1. Get & Post

1> Get请求直接从服务器拿数据

性能好

效率高

在地址栏会显示所有的参数,从直观上安全性不高

由于Get不提交数据给服务器,因此实际的安全性高

实际应用:数据查询

2> Post请求,需要先弄一个数据体,将数据体提交给服务器,才能获取到服务器的响应

性能不好

效率低

不会在地址栏显示参数,直观上安全性高

由于Post请求会提交数据给服务器,有可能会存在安全漏洞,实际的安全性不高

实际应用:用户登录、上传文件等需要与服务器进行数据交互的操作,才需要使用到Post操作

1.Get方法

 1 #pragma mark 返回Get登录请求
 2 - (NSURLRequest *)getLoginRequest
 3 {
 4     NSString *userName = _userName.text;
 5     NSString *password = [_password.text companyMD5];
 6     NSLog(@"%@", [_password.text MD5]);
 7     NSLog(@"%@", password);
 8
 9     // 1. 网络地址URL
10     NSString *urlString = [NSString stringWithFormat:@"http://192.168.3.251/~apple/itcast/login.php?username=%@&password=%@", userName, password       ];
11     urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
12
13     NSURL *url = [NSURL URLWithString:urlString];
14
15     // 2. 请求
16     // 1> url
17     // 2> 缓存策略
18     // 3> 超时时长
19     // 提示:因为网络的状态是未知的,因此要使用URLRequest一定要指定超时时长
20     // 否则会严重影响用户体验!
21     return [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:2.0f];
22
23 }
24
25
26 #pragma mark Get方法登录
27 - (IBAction)getLogin
28 {
29     // 1. 建立请求
30     NSURLRequest *request = [self getLoginRequest];
31
32     // 3. 连接
33     NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self];
34
35     // 4. 启动连接
36     [connection start];
37
38     // 5. 实例化接收数据
39     _serverData = [NSMutableData data];
40 }

2.Post方法

 1 - (IBAction)postLogin
 2 {
 3     NSString *userName = _userName.text;
 4     NSString *password = _password.text;
 5
 6     // 1. 网络地址URL
 7     NSString *urlString = [NSString stringWithFormat:@"http://192.168.3.251/~apple/itcast/login.php"];
 8
 9     NSURL *url = [NSURL URLWithString:urlString];
10
11     // 2. 请求,生成数据体添加到请求
12     NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
13
14     // 1) 指定网络请求的方法
15     // 默认是GET,POST请求通常用在用户登录,上传文件
16     request.HTTPMethod = @"POST";
17
18     // 2) 生成数据体
19     NSString *bodyStr = [NSString stringWithFormat:@"username=%@&password=%@", userName, password];
20     // 转换成NSData
21     request.HTTPBody = [bodyStr dataUsingEncoding:NSUTF8StringEncoding];
22
23     // 3. 连接
24     NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self];
25
26     // 4. 启动连接
27     [connection start];
28
29     // 5. 实例化接收数据
30     _serverData = [NSMutableData data];
31 }

转载于:https://www.cnblogs.com/hkyangvip/p/3496633.html

Get 和 Post方法的登录相关推荐

  1. python爬虫:两种方法模拟登录博客园

    第一方法用第三方库(requests):参考http://www.mamicode.com/info-detail-1839685.html 源代码分析 博客园的登录页面非常简单,查看网页源代码,可以 ...

  2. 使用HTML通过POST方法来登录到PHPChina中文开发者社区

    HttpWatch的抓包过程/C/C++ TCP/IP协议提交方式可参见:c++通过TCP/IP协议提交POST信息登录到PHPChina中文开发者社区 C++通过Wininet库提交方式可参见: C ...

  3. python爬虫如何模仿登录_python爬虫:两种方法模拟登录博客园

    第一方法用第三方库(requests):参考http://www.mamicode.com/info-detail-1839685.html 源代码分析 博客园的登录页面非常简单,查看网页源代码,可以 ...

  4. session方法获取登录邮箱之后的界面

    #使用requests提供的session类来请求登录之后的网站的思路 -实例化session -先使用session发送请求,登录对网站,把cookie保存在session中 -再使用session ...

  5. 设置DVWA出现Could not connect to the MySQL service. Please check the config的解决方法,默认登录账号

    按照这个路径,找到config.inc.php文件,打开 找到下面三个语句 db_server:一般填127.0.0.1,如果修改了mysql的端口号,要在后面加上修改后的端口号,默认为3306 db ...

  6. Shiro与Springboot整合:配置依赖改造登录方法

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

  7. php实现第三方邮箱登录_PHP实现用户异地登录提醒功能的方法

    有时候你的网站账号被盗或你在别处登录操作后台时,右下角会弹出提示信息,提醒你的账号异地登录,或者会被强制下线.对于这种安全性要求比较高的web网站,很多后台管理都会做这种功能提醒. 甄别自己的账号是否 ...

  8. linux单点登录命令,配置RHEV中LINUX 虚拟机使用ACTIVE DIRECTORY(AD域)实现单点登录的方法...

    要配置 Red Hat Enterprise Linux 虚拟机使用 GNOME 和 KDE 图形桌面系统和 Active Directory 服务器实现单点登录,您需要在虚拟机上安装 rhevm-g ...

  9. 实现安全登录的两种方法

    登录安全--拦截器和过滤器或权限框架的使用 本次我们将采用两种方法实现登录的安全性,首先介绍拦截器和过滤器. 一. 过滤器和拦截器: 过滤器产生的时间/开始工作的时间: 进入Tomcat之后,但是在进 ...

最新文章

  1. mysql存储、function、触发器等实例
  2. LSA 安装及管理应用程序
  3. 在Ubuntu系统中安装Docker
  4. 如何在后台运行 Linux 命令
  5. 都已经十岁的 Apache Dubbo,还能再乘风破浪吗?
  6. 【POJ-3259】 Wormholes(判负环,spfa算法)
  7. linux 脚本 语法错误,从windows拷贝到linux的脚本报错:未找到命令 or 语法错误
  8. C#LeetCode刷题-树
  9. 迭代器 in C++
  10. 什么是NSAssert?
  11. opencv视频播放
  12. 利用wcf传递字节的简单例子
  13. 13.Linux/Unix 系统编程手册(上) -- 文件IO缓冲
  14. unity 自定义管线SRP 学习笔记(一)搞懂WHY WHAT HOW
  15. usb调试助手_【小白教程】如何使用米卓同屏助手?
  16. 二. Binding 详解
  17. 比较IC卡、ID卡、M1卡、CPU卡它们之间有什么区别
  18. python八段数码管显示小数点_小数点算法处理(数码管显示)
  19. K2P设置为桥接路由器教程
  20. EXCEL显示 文件未保存 解决方法

热门文章

  1. 如何使用纯CSS3来生成家谱(family tree)
  2. nginx 优化(突破十万并发)
  3. ping命令linux软件包,linux下安装 ping 命令
  4. ajax前台转换json数据库,基于jQuery的ajax功能实现web service的json转化
  5. 语言中的petchar运用_自闭症儿童语言障碍家庭训练,需要融入这些方法
  6. Zookeeper常用命令详解(Zookeeper3.6)
  7. oracle左连接没用_oracle左外连接不显示正确的空值
  8. market1501正则表达式提取行人id和相机id
  9. bar()函数——python绘制柱状图
  10. c语言实验一的错误,C语言实验(三)