iOS 前端和后端交互 get请求 post请求

本文深入探讨了HTTP协议下GET和POST请求的使用场景,特别是针对用户认证过程。通过实例展示了如何利用这两种方法获取并验证用户名和密码,确保了安全高效的登录流程。

get请求:

把我们想要获取的用户名和密码加到url后面,发送request请求到服务器,服务器去验证它(数据库)有没有相同的用户名和密码


-(void) getRequest {

//第一步,创建URL

NSURL *url = [NSURLURLWithString:@"http://192.168.99.17:8888/loginDome/foregroundAction!login?userName=admin&password=admin"];

//第二步,通过URL创建网络请求  
 NSURLRequest *request = [[NSURLRequestalloc]initWithURL:urlcachePolicy:NSURLRequestUseProtocolCachePolicytimeoutInterval:10];

//NSURLRequest初始化方法第一个参数:请求访问路径,第二个参数:缓存协议,第三个参数:网络请求超时时间(秒)  

//其中缓存协议是个枚举类型包含:  

//NSURLRequestUseProtocolCachePolicy(基础策略)  

//NSURLRequestReloadIgnoringLocalCacheData(忽略本地缓存)  

//NSURLRequestReturnCacheDataElseLoad(首先使用缓存,如果没有本地缓存,才从原地址下载)

//NSURLRequestReturnCacheDataDontLoad(使用本地缓存,从不下载,如果本地没有缓存,则请求失败,此策略多用于离线操作)

// NSURLRequestReloadIgnoringLocalAndRemoteCacheData(无视任何缓存策略,无论是本地的还是远程的,总是从原地址重新下载)

//NSURLRequestReloadRevalidatingCacheData(如果本地缓存是有效的则不下载,其他任何情况都从原地址重新下载)

//第三步,连接服务器

NSData *received = [NSURLConnectionsendSynchronousRequest:requestreturningResponse:nilerror:nil];

NSString *str = [[NSStringalloc]initWithData:receivedencoding:NSUTF8StringEncoding];

NSLog(@"%@",str);

}

post请求  

创建一个字典,字典里面是我们用户输入的用户名和密码,把这个字典加到data数据里面,在request请求中加入data数据,这样子,我们就把带有参数的请求发给了服务器。

服务器接接收到参数,进行判断,如果正确返回一个东西给我们(qq上就登陆成功),不正确,返回错误信息(用户名/密码错误等)。

-(void) postRequest{
    //第一步,创建URL
    NSURL *url = [NSURLURLWithString:@"http://192.168.99.17:8888/loginDome/foregroundAction!login?"];
    //第二步,创建请求
    
    NSMutableURLRequest *request = [[NSMutableURLRequestalloc]initWithURL:urlcachePolicy:NSURLRequestUseProtocolCachePolicytimeoutInterval:10];
    [request setHTTPMethod:@"POST"];//设置请求方式为POST,默认为GET
    NSDictionary *dic =@{@"userName":@"willingseal",@"password":@"187550936"};
    NSData *data = [NSJSONSerializationdataWithJSONObject:dicoptions:NSJSONWritingPrettyPrintederror:nil];
    // NSString *JSONStr = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
    
    
    [request setHTTPBody:data]; //设置请求体的数据
    //第三步,连接服务器
    NSData *received = [NSURLConnectionsendSynchronousRequest:requestreturningResponse:nilerror:nil];
    NSString *str1 = [[NSStringalloc]initWithData:receivedencoding:NSUTF8StringEncoding];
    NSLog(@"%@",str1);  
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值