ios开发网络篇—Get请求和Post请求

转载 2016年06月01日 11:38:58

一.Get请求和Post请求简单说明
创建Get请求

//1.设置请求路径
NSString *urlStr = [NSString stringWithFormat:@"http://192.168.1.53:8080/MJServer/login?username=%@&pwd=%@",self.username.text,self.pwd.text];
NSURL *url = [NSURL URLWithString:urlStr];
//2.创建请求对象
NSURLRequest *request = [NSURLRequest requestWithURL:url];

创建Post请求

//1.设置请求路径
NSURL *url = [NSURL URLWithString:@"http://192.168.1.53:8080/MJServer/login"];
//2.创建请求对象
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL];    //默认为get请求
request.timeoutInterval=5.0;    //设置请求超时5秒
request.HTTPMethod=@"POST";     //设置请求方法

//设置请求体
NSString *param = [NSString stringWithFormat:@"username=%@&pwd=%@",self.username.text,self.pwd.text];
//把拼接后的字符串转换为data,设置请求体
request.HTTPBody = [param dataUsingEncoding:NSUTF8StringEncoding];

二.比较
建议:提交用户的隐私数据一定要使用Post请求
相对Post请求而言,Get请求的所有参数都直接暴露在URL中,请求的URL一般会记录在服务器的访问日志中,而服务器的访问日志是黑客攻击的重点对象之一
用户的隐私数据如登录密码,银行帐号等

三.使用
1.通过请求头告诉服务器,客户端的类型(可以通过修改,欺骗服务器)

//1.设置请求路径
NSURL *URL=[NSURL URLWithString:@"http://192.168.1.53:8080/MJServer/login"];//不需要传递参数

//2.创建请求对象
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:URL];//默认为get请求
request.timeoutInterval=5.0;//设置请求超时为5秒
request.HTTPMethod=@"POST";//设置请求方法

//设置请求体
NSString *param=[NSString stringWithFormat:@"username=%@&pwd=%@",self.username.text,self.pwd.text];
//把拼接后的字符串转换为data,设置请求体
request.HTTPBody=[param dataUsingEncoding:NSUTF8StringEncoding];

//客户端类型,只能写英文
[request setValue:@"ios+android" forHTTPHeaderField:@"User-Agent"];

2.加强对中文的处理

//1.设置请求路径
NSString *urlStr=[NSString stringWithFormat:@"http://192.168.1.53:8080/MJServer/login?username=%@&pwd=%@",self.username.text,self.pwd.text];
//转码
urlStr= [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url=[NSURL URLWithString:urlStr];

//2.创建请求对象
NSURLRequest *request=[NSURLRequest requestWithURL:url];

相关文章推荐

iOS开发网络篇—发送GET和POST请求(使用NSURLSession)

说明: 1 .该文主要介绍如何使用NSURLSession来发送GET请求和POST请求 2 .本文将不再讲解NSURLConnection的使用,如有需要了解NSURLConnection如何发送请...

iOS开发网络篇—GET请求和POST请求

iOS开发网络篇—GET请求和POST请求 一、GET请求和POST请求简单说明 创建GET请求 1 // 1.设置请求路径 2 NSString *urlStr=...

IOS开发—网络请求之GET/POST异步请求(非代理)

介绍IOS网络请求中通过非代理的方式发送GET/POST异步请求。
  • Lotheve
  • Lotheve
  • 2015年03月19日 09:19
  • 722

iOS开发网络—04GET请求和POST请求

iOS开发网络篇—GET请求和POST请求 一、GET请求和POST请求简单说明 创建GET请求 1 // 1.设置请求路径 2 NSString *urlStr=[NSStrin...

IOS开发—网络请求之GET/POST同步请求

介绍ios网络请求中的GET/POST同步请求
  • Lotheve
  • Lotheve
  • 2015年03月19日 09:11
  • 641

iOS开发:GET与POST接口网络请求以及对AFNetworking的二次封装

/***************     iOS开发:GET   和   POST接口网络请求        *******************/ -、网络请求的两种方式:GET   和   P...

网络七层 以及iOS开发中的get请求 post请求

序言:大部分应用程序都或多或少会牵扯到网络开发,例如微博微信,这些应用本身肯能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,鼓励的应用通常是没有生命力的.使用代...

iOS开发:网络请求之get、post同步异步请求

网络请求方式: 1、GET: (1)通过网址字符串给服务器传输数据;  (2)网络字符串最多255字节;  (3)所有传输给服务器的数据,显示在网址里,类似于密码的明文输入,直接可见。 2、POST:...

iOS开发 GET、POST请求方法:NSURLSession篇

NSURLConnection,在iOS 9被宣布弃用,本文不使用NSURLConnection进行网络编程,有兴趣的童鞋可以参考: iOS开发 GET、POST请求方法(NSURLConnec...

swift开发网络篇—利用NSURLConnection GET请求和POST请求

一、GET请求和POST请求简单说明     @IBOutlet weak var userName: UITextField!     @IBOutlet weak var userPwd: U...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ios开发网络篇—Get请求和Post请求
举报原因:
原因补充:

(最多只允许输入30个字)