ios-程序中模拟GET和POST请求登录
2017-08-15 15:53
429 查看
我们在程序中模拟发出GET请求进行登录,如果账号或密码中存在汉字或者空格我们就要进行处理
NSString *name = @"哈"; NSString *pwd = @"123"; NSString *strUrl = [NSString stringWithFormat:@"http://127.0.0.1/php/login.php?username=%@&password=%@",name,pwd]; //对汉字或者空格做百分号转义,URLQuery就是对?之后进行的百分号转义操作。 strUrl = [strUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]; //当地址中出现空格或者汉字 url返回nil,所以我们需要在上面给它做一次百分号转义操作 NSURL *url = [NSURL URLWithString:strUrl]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) { if (connectionError) { NSLog(@"连接错误 %@",connectionError); return; } // NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; if (httpResponse.statusCode == 200 || httpResponse.statusCode == 304) { //解析数据 NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL]; NSLog(@"%@",dic); }else{ NSLog(@"服务器内部错误"); } }]; }以post的形式发送请求
NSString *strUrl = @"http://127.0.0.1/php/login.php"; NSURL *url = [NSURL URLWithString:strUrl]; //如果需要改变请求的方式就要把request的类变成是mutableRequest NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; //发送post请求 request.HTTPMethod = @"post"; //设置请求体 NSString *body = @"username=123&password=abc"; //把字符串转换成NSData对象,以UTF-8编码的形式 request.HTTPBody = [body dataUsingEncoding:NSUTF8StringEncoding]; [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) { if (connectionError) { NSLog(@"连接错误 %@",connectionError); return; } // NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; if (httpResponse.statusCode == 200 || httpResponse.statusCode == 304) { //解析数据 NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL]; NSLog(@"%@",dic); }else{ NSLog(@"服务器内部错误"); } }];
相关文章推荐
- 【实战】(二)android模拟qq登录(apache的httpClient发送get和post请求)
- Winform模拟post请求和get请求登录网站
- IOS学习 网络HTTP Get和Post请求与登录界面加密 涉及按钮边框圆角与颜色设置
- Winform模拟post请求和get请求登录网站
- Winform模拟post请求和get请求登录网站
- iOS 在线模拟post请求和get请求
- python---POST/GET请求数据包,图片验证码自动化识别,pytesseract,模拟用户一次正常登录
- IOS之同步请求、异步请求、GET请求、POST请求
- iOS iPhone通过get和post方式请求asp.net webservice
- iOS 03-NSURLSession类 GET与POST请求
- HttpClient使用之模拟登录人人网(Post请求)
- iOS网络请求总结、GET、POST、同步、异步代码块、异步代理、第三方AFNetWorking2.0使用
- iOS开发 GET、POST请求方法:NSURLSession篇
- GET请求和POST请求有什么区别?GET请求的参数在URL的问号后面显示,而POST参数不在URL上;POST可以比GET请求更大的数据…一般的回答都是这样。 但是作为一个高端大气上档次的程序
- IOS http请求的get 和 post的请求的区别
- Android入门:用HttpClient模拟HTTP的GET和POST请求
- php socket模拟POST GET请求 fsockopen版
- IOS之同步请求、异步请求、GET请求、POST请求
- IOS之同步请求、异步请求、GET请求、POST请求(整理复习))
- iOS中GET 和 POST 数据请求