viewController.m文件的实现:
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
//**********确保透明传输的安全性
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
[self get];
}
//GET请求:把参数放在URL里面 简答获取数据 http://主机地址/路径?参数1&参数2&参数3
//POST请求: 把参数放在请求体里面,修改数据等操作 http://主机地址/路径
//所以POST请求安全性会更好一些
- (void)get
{
// 1 确定请求路径
NSURL * url = [NSURL URLWithString:@"https://www.jianshu.com/p/14385b1db4f3"];
//2 创建一个请求对象
NSURLRequest * request = [NSURLRequest requestWithURL:url];
//3 创建会话对象
// 先用单例方法创建
NSURLSession * session = [NSURLSession sharedSession];
//4 根据会话对象 创建一个请求Task 任务
//参数1:请求对象 2.completionHandler:完成后的回调
//2.详情:data:响应体 response:响应头 error:错误信息
//注意 该请求任务默认处于 挂起状态
//该方法内部会自动的将url包装成一个请求对象(默认GET请求)
NSURLSessionDataTask * dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
//解析服务器返回的数据 直接转化成字符串转化即可
NSLog(@"%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
}];
//5 需要执行请求任务 resume:恢复
[dataTask resume];
}
//改造
- (void)get2
{
[[[NSURLSession sharedSession] dataTaskWithURL:[NSURL URLWithString:@"https://www.jianshu.com/p/14385b1db4f3"] completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
NSLog(@"%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
}]resume];
}
//如何发送pose请求
- (void)post
{
// 1 确定请求路径
NSURL * url = [NSURL URLWithString:@"https://www.jianshu.com/p/14385b1db4f3"];
//2 创建一个可变的请求对象
NSMutableURLRequest * request = [NSMutableURLRequest requestWithURL:url];
// 3 修改请求方法
request.HTTPMethod = @"POST";
// 4 设置参数
request.HTTPBody = [@"canshu" dataUsingEncoding:NSUTF8StringEncoding];//里面是问号之后的参数
// 5 创建会话对象
NSURLSession * session = [NSURLSession sharedSession];
// 6 创建一个请求任务
//⚠️ completebBlock 默认在子线程中调用
NSURLSessionDataTask * dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
// 8 解析服务器返回的数据
NSLog(@"%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
}];
// 7 执行请求
[dataTask resume];
}
//- (void)viewDidLoad {
// [super viewDidLoad];
// // Do any additional setup after loading the view, typically from a nib.
//}
//
//
//- (void)didReceiveMemoryWarning {
// [super didReceiveMemoryWarning];
// // Dispose of any resources that can be recreated.
//}
@end