ASI 实现注册方法的小例子(get和post方式)
服务端文档:
注册
/my/register.php
输入参数:
参数说明: username 用户名 password 密码 email 邮箱
成功返回值:
{
"code": "registered",
"message": "注册成功了,进入个人空间" }
注册失败:
{
"code": "user_name_already_exists", "message": "用户名已经存在"
}
导入的包:
// GET
#import "ASIHttpRequest.h"
// POST
#import "ASIFormDataRequest.h"
注册方法代码

- (void) registerToSns:(id)sender {
// http://192.168.100.1/sns/my/user_list.php?format=json GET/POST
// HTTP协议 POST > GET
NSString *username = usernameField.text;
NSString *password = passwordField.text;
NSString *email = emailField.text;
#if 0 // GET
NSString *s = [NSString stringWithFormat:
@"%@/my/register.php?username=%@&password=%@&email=%@",
QFSNS_HOST,
username, password, email];
NSLog(@"sns is %@", s);
NSURL *url = [NSURL URLWithString:s];
ASIHTTPRequest *r = [ASIHTTPRequest requestWithURL:url];
#else // POST
NSString *s = [NSString stringWithFormat:
@"%@/my/register.php?format=xml", QFSNS_HOST];
// http://192.168.100.1/sns/my/user_list.php
NSURL *url = [NSURL URLWithString:s];
ASIFormDataRequest *r = [ASIFormDataRequest requestWithURL:url];
// 创建POST请求 用了ASIFormDataRequest也必须是有setPostValue才被服务端认为是post方式,无参数时setPost:nil
[r setPostValue:username forKey:@"username"];
[r setPostValue:password forKey:@"password"];
[r setPostValue:email forKey:@"email"];
[r setRequestMethod:@"POST"];//设置数据接受方式为post
// 收到{"code":"registered","message":"\u6ce8\u518c\u6210\u529f\u4e86\uff0c\u8fdb\u5165\u4e2a\u4eba\u7a7a\u95f4","m_auth":"07caUz7QkiKUd2dlFgU3kA8DVlnEW8DStHdHDhLj6aTHbEZ\/LScPvAVu8WML\/0TITVGL\/NhKXw\/JlISU6QVrLQ"}
#endif
r.delegate = self;
r.tag = 100;
[r startAsynchronous];
}

一般在浏览器中输入网址访问资源都是通过GET方式;
而在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交。
一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查 ,改 ,增 ,删 4个操作。GET一般用于获取/查询 资源信息,而POST一般用于更新 资源信息。
其他差别:
1. GET使用URL或Cookie传参。而POST将数据放在BODY中。
2. GET的URL会有长度上的限制,则POST的数据则可以非常大。
3. POST比GET安全,因为数据在地址栏上不可见。
ASI 实现注册方法的小例子(get和post方式)的更多相关文章
- nim读写注册表的小例子
nim读写注册表的小例子 2018年5月7日 15:11:58 codegay 贴一个nim读写注册表的例子,虽然简单,但是nim官方没有写windows注册表相关的文档, 我贴的例子兴许能帮大家省点 ...
- PL/SQL实现JAVA中的split()方法的小例子
众所周知,java中为String类提供了split()字符串分割的方法,所以很容易将字符串以指定的符号分割为一个字符串数组.但是在pl/sql中并没有提供像java中的split()方法,所以要想在 ...
- Runtime的几个小例子(含Demo)
一.什么是runtime(也就是所谓的“运行时”,因为是在运行时实现的.) 1.runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数); [runti ...
- Hadoop中RPC协议小例子报错java.lang.reflect.UndeclaredThrowableException解决方法
最近在学习传智播客吴超老师的Hadoop视频,里面他在讲解RPC通信原理的过程中给了一个RPC的小例子,但是自己编写的过程中遇到一个小错误,整理如下: log4j:WARN No appenders ...
- 一:AndEngine的小例子
首先导入架包,下载:http://download.csdn.net/detail/duancanmeng/4060082 lib文件夹中 像我们写android程序entends Activity一 ...
- spring小例子-springMVC+mybits整合的小例子
这段时间没更博,找房去了... 吐槽一下,自如太坑了...承诺的三年不涨房租,结果今年一看北京房租都在涨也跟着涨了... 而且自如太贵了,租不起了.. 突然有点理解女生找对象要房了.. 搬家太 ...
- php+jquery+ajax+json简单小例子
直接贴代码: <html> <title>php+jquery+ajax+json简单小例子</title> <?php header("Conte ...
- 一个有趣的小例子,带你入门协程模块-asyncio
一个有趣的小例子,带你入门协程模块-asyncio 上篇文章写了关于yield from的用法,简单的了解异步模式,[https://www.cnblogs.com/c-x-a/p/10106031. ...
- C#利用事件与委托进行窗体间传值简单小例子
本篇博客是利用C#委托与事件进行窗体间传值的简单小例子 委托与事件的详细解释大家可以参照张子阳的博客: http://www.tracefact.net/CSharp-Programming/Dele ...
随机推荐
- C# 新Form各事件执行顺序
1. 构造函数 2. Load() 3. Show() 4. Acticated()
- NS-3 MyFirstScriptExample
安装好了NS-3之后,我根据一些教程学习了NS-3的几个关键的概念,然后照着例子和自己对它的一些理解,尝试的打了我自己的第一个脚本程序:MyFirstScriptExample 具体代码如下: #in ...
- WPF基础学习笔记整理 (三) x命名空间
“x命名空间”中x是XAML的首字母,用来引导XAML编译器把XAML代码编译成CLR代码.下边的图片表格列举了该命名空间部分成员及其作用,更多请见URL:https://msdn.microsoft ...
- python 递增递减数列
def is_arithmetic(l): delta = l[] - l[] ): ] - l[index] == delta): return False return True print(is ...
- python 获取IP
第一种 import commandscmd = "ifconfig br0 | grep 'inet addr' | sed 's/^.*addr://g' |sed 's/ Bcast: ...
- MongoDB(课时4 数据增加)
3.4 数据操作(重点) 只要是数据库就绝对离不开最核心的功能:CRUD(增加Create.读取查询Retrieve.更新Update.删除Delete),除了增加之外,其他都很麻烦,最麻烦的是修改. ...
- RabbitMQ入门_12_发布方确认
参考资料:https://www.rabbitmq.com/confirms.html 通过 ack 机制,我们可以确保队列中的消息一定能被消费到.那我们有办法保证消息发布方一定把消息发送到队列了吗? ...
- Linux下Tomcat启动设置debug模式启动
原文: https://blog.csdn.net/li295214001/article/details/42077247 https://blog.csdn.net/jackie_xiaonan/ ...
- Struts2 简介图
Struts2官方提供的,strus2的内部工作机制图解.
- Confluence 6 安装 Active Directory 证书服务器
如果证书服务器已经安装了的话,跳过这一步骤,直接进入下一步.下面步骤中的屏幕截图是从 Windows 2008 服务器版上安装的截图,针对 2000 和 2003 安装过程是一样的. 作为系统管理员登 ...