1. Get & Post

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

性能好

效率高

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

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

实际应用:数据查询

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

性能不好

效率低

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

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

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

1.Get方法

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

2.Post方法

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

Get 和 Post方法的登录的更多相关文章

  1. Ucenter后台登陆 验证码CCCC的解决方法 无法登录解决办法

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  2. 拦截$.ajax方法实现登录过期登录

    jQuery(function ($) { var CreateLoginWindows = function (callback) { var h = 300; $('#CreateLoginWin ...

  3. Ajax方法实现登录页面

    Note: ajax技术 不用刷新页面,做局部刷新不用form表单,因为不需要提交,通过JQuery控制必须要有id如果要用ajax可以用JQuery也可以用js写,推荐JQuery 因为简单,直接引 ...

  4. vsftpd的530 Login incorrect错误解决方法 vsftpd登录错误

    530 Login incorrect只有用匿名anonymous才可登录,其余所有用户都报530 Login incorrect错 复制代码 代码如下: local_enable=YESwrite_ ...

  5. pyppeteer 登录一般网站 并利用 http方法获取登录页面的验证码

    主函数 新建浏览器,进行登录,由于验证码的识别准确率不是百分之百,需要多次尝试. async def main(self, username, pwd, url): # 定义main协程函数, log ...

  6. yii2.0自动登录功能的实现方法

    参考地址:http://www.kuitao8.com/20150518/3747.shtml 自动登录的原理很简单.主要就是利用cookie来实现的在第一次登录的时候,如果登录成功并且选中了下次自动 ...

  7. 绕过cookies进行登录并封装请求方法

    之前写了一篇使用session跨请求保持会话的帖子,这次在它的基础上对请求方法简单封装一下,可以达到复用的效果 1.先定义登录方法 在登录方法中利用session跨请求保持会话,并返回session, ...

  8. FormsAuthentication.SetAuthCookie 方法登录

    FormsAuthentication.SetAuthCookie 方法,登录的原理. FormsAuthentication.SetAuthCookie 方法登录的过期时间. 登录相关阅读 asp. ...

  9. Requests方法 -- cookie绕过验证码登录操作

    前言有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接).获取不到也没关系,可以通过添加 cookie 的方式绕过验证码. 1.这里以登录博 ...

随机推荐

  1. mjrefresh源码分析

    最近想自己写个下拉刷新的库,但是始终感觉无从下手,想想总是容易的.原理也很简单,真正要下手写的时候,呵呵.不得不说ios封装得很好,网上可以用的成熟的库也很多,也正是因为如此很多开发者也忽略了很多底层 ...

  2. 使用FFmpeg解码H264-2016.01.14

    使用jni方式调用FFmepg项目中接口,对H264裸码进行解码. 该Demo主要实现从文件中读取H264编码的视频流,然后使用FFmpeg解码,将解码后的码流保存到文件. 工程目录结构如图所示: A ...

  3. javascript 实现HashTable(哈希表)

    一.javascript哈希表简介 javascript里面是没有哈希表的,一直在java,C#中有时候用到了这一种数据结构,javascript里面若没有,感觉非常不顺手.细细看来,其实javasc ...

  4. Flexbox布局详解

    弹性框布局 (flexbox) 添加了级联样式表级别 2 修订版 1 (CSS2.1) 中定义的四个基本布局模式:块布局.内联布局.表格布局和定位布局.使用弹性框布局功能,你可以更加轻松地设计复杂网页 ...

  5. PHP超时处理全面总结(转)

    [ 概述 ] 在PHP开发中工作里非常多使用到超时处理到超时的场合,我说几个场景: 1. 异步获取数据如果某个后端数据源获取不成功则跳过,不影响整个页面展现 2. 为了保证Web服务器不会因为当个页面 ...

  6. 远程DLL注入

    界面如下: 关键部分代码如下: void CInjectDllDlg::OnBnClickedButtonInject() { // TODO: 在此添加控件通知处理程序代码 UpdateData(T ...

  7. 如何防止DDos攻击?

    ---恢复内容开始--- 一.拒绝服务攻击的发展 从拒绝服务攻击诞生到现在已经有了很多的发展,从最初的简单Dos到现在的DDOS.那么什么是Dos和DDOS呢?DoS是一种利用单台计算机的攻击方式.而 ...

  8. eclipse自动补全

    最简单的修改方式是:Windows——>Preferences——>Java-->Editor-->Content Asist,在Auto activation trigger ...

  9. State

    #include <iostream> using namespace std; #define DESTROY_POINTER(ptr) if (ptr) { delete ptr; p ...

  10. js对文章内容进行分页示例代码

    这篇文章主要介绍了使用js对文章内容进行分页的具体实现,需要的朋友可以参考下 Thinkphp中文章显示代码: 代码如下: <div id="showContent"> ...