网络请求默认是get

网络请求有很多种:GET查  POST改  PUT增  DELETE删 HEAD

在平时开发中主要用的 是 get 和 post.

get 获得数据 (获取用户信息)

get 请求是没有长度限制的,真正的长度限制是浏览器做的,限制长度一般2k

get 请求是有缓存的,get 有幂等的算法

get  http://localhost/login.php?username=xubaoaichiyu&password=123456

请求参数暴露在url里

get请求参数格式:

?后是请求参数

参数名 = 参数值

& 连接两个参数的

post 添加,修改数据 (上传或修改用户信息)

post 请求是没有缓存的

http://localhost/login.php

post 也没有长度限制,一般控制2M以内

post 请求参数不会暴漏在外面 ,不会暴漏敏感信息

请求是有:请求头header,请求体boby(post参数是放在请求体里的)

get代码如下:

  1. //
  2. // ViewController.m
  3. // CX-get
  4. //
  5. // Created by ma c on 16/3/17.
  6. // Copyright © 2016年 xubaoaichiyu. All rights reserved.
  7. //
  8.  
  9. #import "ViewController.h"
  10.  
  11. @interface ViewController ()
  12.  
  13. @end
  14.  
  15. @implementation ViewController
  16.  
  17. - (void)viewDidLoad {
  18. [super viewDidLoad];
  19.  
  20. //使用get请求,获取接口
  21.  
  22. NSString * String = @"http://localhost/login.php";
  23.  
  24. //拼接参数
  25. NSString * urlString = [NSString stringWithFormat:@"%@?username=xubaoaichiyu&password=123456",String];
  26.  
  27. //如果有中文进行转码
  28.  
  29. urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  30.  
  31. NSURL * url = [NSURL URLWithString:urlString];
  32.  
  33. NSURLRequest * request = [[NSURLRequest alloc]initWithURL:url cachePolicy: timeoutInterval:];
  34.  
  35. [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {
  36.  
  37. NSString * string = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
  38.  
  39. NSLog(@"%@",string);
  40.  
  41. }];
  42.  
  43. }
  44.  
  45. @end

post:

  1. //
  2. // ViewController.m
  3. // CX-post
  4. //
  5. // Created by ma c on 16/3/17.
  6. // Copyright © 2016年 xubaoaichiyu. All rights reserved.
  7. //
  8.  
  9. #import "ViewController.h"
  10.  
  11. @interface ViewController ()
  12.  
  13. @end
  14.  
  15. @implementation ViewController
  16.  
  17. - (void)viewDidLoad {
  18. [super viewDidLoad];
  19.  
  20. //使用post请求
  21. //获取接口
  22. NSString * string = @"http://localhost/login.php";
  23.  
  24. //中文转码
  25. string = [string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  26.  
  27. NSURL * url = [NSURL URLWithString:string];
  28.  
  29. //可变请求
  30. NSMutableURLRequest * requst = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy: timeoutInterval:];
  31.  
  32. //设置传输方式
  33.  
  34. requst.HTTPMethod = @"POST";
  35.  
  36. NSString * bodyString = [NSString stringWithFormat:@"username=xubaoaichiyu&password=123456"];
  37.  
  38. //设置请求体
  39.  
  40. requst.HTTPBody = [bodyString dataUsingEncoding:NSUTF8StringEncoding];
  41.  
  42. [NSURLConnection sendAsynchronousRequest:requst queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {
  43.  
  44. NSString * string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
  45.  
  46. NSLog(@"%@",string);
  47.  
  48. }];
  49.  
  50. }

IOS 网络浅析-(四 get&post)的更多相关文章

  1. IOS 网络浅析-(十三 SDWebImage 实用技巧)

    IOS 网络浅析-(十三 SDWebImage 实用技巧) 首先让我描述一下为了什么而产生的实用技巧.(在TableView.CollectionView中)当用户所处环境WiFi网速不够快(不能立即 ...

  2. IOS 网络浅析-(九 NSURLSession代理简介)

    从最开始什么都不懂的小白,到到现在略知一二的小孩.我觉得不仅仅是我,大家应该都会注意到代理几乎贯穿着IOS,那么问题来了,我接下来要说什么呢,那就是.标题的内容啦.上篇网络系列的文章我介绍了NSURL ...

  3. IOS 网络浅析-(八 NSURLSession简介)

    就在不长也不短的时间前,苹果正式命令咱们要向NSURLSession看,因此我们不得不认认真真的听从老大的教导,努力认知NSURLSession.其实呢,三方早已为我们解决了问题,但是呢,我们还是有必 ...

  4. IOS 网络浅析-(三 NSURLConnection代理)

    对于现在的iOS开发,用法简单,最古老最经典最直接的NSURLConnection的作用不是很大,但是作为一名ios开发者,我们应该拥有一颗热爱学习的心,下面通过代码的实现简单介绍一下NSURLCon ...

  5. IOS 网络浅析-(十一 三方 AFNetworking3.0简介)

    AFNetworking3.0是目前最新的版本,本来打算介绍一下2.6,但是想想2.6名不久矣,就决定不介绍了,有兴趣的小伙伴可以上网查一查.下面我就开始进入正题了. 目前使用人数最多的第三方网络库, ...

  6. IOS 网络浅析-(七 JSON解析之三方JSONKit)

    在这个网络横行的时代......... 有没有小说的感觉,哈哈

  7. IOS 网络浅析-(六 网络图片获取之三方SDWebImage)

    网络图片获取是大多数app所能用到的,由于实际app开发中原生api很少用到,在这里就先不介绍了,以后有时间会给大家介绍.这篇文章会给大家介绍一个三方-SDWebImage.SDWebImage 是一 ...

  8. IOS 网络浅析 (二 网络异步请求)

    学习网络,无论是C/S还是B/S首要的当然是向服务器发送请求,并得到响应,么有请求没有响应,那就不叫做网络了. 这边文章向大家介绍境界一下网路异步请求. *大家不要觉得我写的知识点太零散,我只是想给大 ...

  9. IOS 网络浅析(一 网络监测~Reachability)

    网络监测应用于各种需要连接网络的app设计,由于现在开发的app几乎都用到网络,因此,网络监测也成为了较为重点的知识,下面我给大家简单讲解一下网络监测的实际应用,依旧会有代码哦. 想要实现网络监测,可 ...

随机推荐

  1. Bower 手册

    安装 Bower 使用 npm 安装 Bower.(Bower 依赖于 Node, npm 和 Git.) $ npm install -g bower 基本用法 安装程序包 程序包安装命令 bowe ...

  2. 网络通信分享(一):数字签名,数字证书,https通信,数据加密

    加密算法: 一:对称加密算法 在对称加密算法中,加密使用的密钥和解密使用的密钥是相同的.也就是说,加密和解密都是使用的同一个密钥.因此对称加密算法要保证安全性的话,密钥要做好保密,只能让使用的人知道, ...

  3. 求1+2+3+...+n

    求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 卧槽,剑指Offer竟然有这样的题... public ...

  4. 资料下载:生活方向盘PPT以及活动录音(2011.02)

    本文已挪至 http://www.zhoujingen.cn/blog/676.html 免费PDF和活动录音下载: http://down.51cto.com/data/216824 敏捷个人生活方 ...

  5. HTML的学习

    PS:最近已经进入实验室了,已经算是正式的成为其中的核心成员了,虽然自己学习的并不多.但是 相信自己通过努力能够走的越来越好.条件还是蛮不错的.这次给了一个关于WEB的项目,自己的还是 没有学完JAV ...

  6. mysql创建每月执行一次的event

    DELIMITER $$ CREATE /*[DEFINER = { user | CURRENT_USER }]*/ EVENT `dev_sp2p6`.`e_test1` ON SCHEDULEE ...

  7. 加密–RSA前端与后台的加密&解密

    1. 前言 本问是根据网上很多文章的总结得到的. 2. 介绍 RSA加密算法是一种非对称加密算法. 对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难,RSA算法 ...

  8. oracle的minus返回第一个表中有、第二个表中没有的数据

    oracle的minus返回第一个表中有.第二个表中没有的数据 CREATE TABLE hovertree_union_1 ( id INT, val ) ); CREATE TABLE hover ...

  9. 无废话WCF入门教程一[什么是WCF]

    http://www.cnblogs.com/iamlilinfeng/archive/2012/09/25/2700049.html wcf技术交流,同学习共进步,欢迎加群:  群号:3981831 ...

  10. 重新想象 Windows 8 Store Apps (58) - 微软账号

    [源码下载] 重新想象 Windows 8 Store Apps (58) - 微软账号 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 微软账号 获取微软账号的用户 ...