ViewController.h文件
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController<NSURLConnectionDelegate> //get 异步请求需要继承这个协议
- (IBAction)GetRequest:(id)sender;
- (IBAction)PostRequest:(id)sender;
- (IBAction)GetRequest2:(id)sender;
@property (weak, nonatomic) IBOutlet UILabel *result;
//接收从服务器返回数据。
@property (strong,nonatomic) NSMutableData *datas;
@end
Viewcontroller.m 文件
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (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.
}
//get 同步请求
- (IBAction)GetRequest:(id)sender {
NSString *strURL = [[NSString alloc] initWithFormat:@"http://192.168.0.105:8080/iosServer/index.jsp?action=%@&username=%@&pwd=%@",
@"testiosloign",@"liu",@"123"];
NSURL *url=[NSURL URLWithString:strURL];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSLog(@"请求完成...");
// NSDictionary *resDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
//
NSString* aStr= [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
NSLog(@"\n test return resrul:%@",aStr);
self.result.text = aStr;
}
- (IBAction)PostRequest:(id)sender
{
NSString *strURL = [[NSString alloc] initWithFormat:@"http://192.168.0.105:8080/iosServer/index.jsp"];
NSURL *url=[NSURL URLWithString:strURL];
NSString *post = [NSString stringWithFormat:@"action=%@&username=%@&pwd=%@", @"postrequest",@"JSON",@"query"];
NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:postData];
NSURLConnection *connection = [[NSURLConnection alloc]
initWithRequest:request delegate:self];
if (connection) {
_datas = [NSMutableData new];
}
}
//get 异步请求
- (IBAction)GetRequest2:(id)sender
{
NSString *strURL = [[NSString alloc] initWithFormat:@"http://192.168.0.105:8080/iosServer/index.jsp?action=%@&username=%@&pwd=%@",
@"testiosloign",@"liu",@"123"];
NSURL *url=[NSURL URLWithString:strURL];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
NSURLConnection *connection = [[NSURLConnection alloc]
initWithRequest:request
delegate:self];
if (connection)
{
_datas = [NSMutableData new];
}
}
#pragma mark- NSURLConnection get/post异步请回调方法
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[_datas appendData:data];
NSString* aStr= [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
NSLog(@"\n test return resrul:%@",aStr);
self.result.text = aStr;
}
-(void) connection:(NSURLConnection *)connection didFailWithError: (NSError *)error {
NSLog(@"%@",[error localizedDescription]);
}
- (void) connectionDidFinishLoading: (NSURLConnection*) connection
{
NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:_datas options:NSJSONReadingAllowFragments error:nil];
NSLog(@"请求完成...%@",dict);
}
@end