• 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":"u6ce8u518cu6210u529fu4e86uff0cu8fdbu5165u4e2au4ebau7a7au95f4","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安全,因为数据在地址栏上不可见。

  • 相关阅读:
    Centos7安装redis
    Cookie和Session的区别
    JavaWeb中的域对象
    ServletContext使用介绍
    Java Web核心组件之Servlet的使用介绍
    关于反射的杂谈
    leetcode117search-in-rotated-sorted-array
    23longest-consecutive-sequence
    leetcode24:word-ladder-ii
    leetcode25word-ladder
  • 原文地址:https://www.cnblogs.com/worldtraveler/p/4568997.html
Copyright © 2020-2023  润新知