NSString *URLString = @"http://www.baidu.com"; // 请求地址 (不能为中文,事实上所有的网络请求地址都不能为中文要UTF-8下)
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:URLString]];
[NSURLConnection sendAsynchronousRequest:request
queue:[NSOperationQueue new]
completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError)
{
}];
2. 同步
NSString *URLString = @"http://www.baidu.com"; // 请求地址 (不能为中文,事实上所有的网络请求地址都不能为中文要UTF-8下)
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:URLString]];
NSError *error = nil;
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error];
二。 POST请求
2.1.同步
// 1.设置请求路径
NSURL *URL=[NSURL URLWithString:@"http://192.168.2.33:8080/TestServer/login"];//不需要传递参数
// .创建请求对象
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:URL];//默认为get请求
request.timeoutInterval=5.0;//设置请求超时为5秒
request.HTTPMethod=@"POST";//设置请求方法
//设置请求体
NSString *param=[NSString stringWithFormat:@"username=%@&pwd=%@",@"uu",@"pp"]; // 不能为中文
//把拼接后的字符串转换为data,设置请求体
request.HTTPBody=[param dataUsingEncoding:NSUTF8StringEncoding];
// 发送请求
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue new] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
}];
2.2 :同步请求
// 设置请求路径
NSURL *URL=[NSURL URLWithString:@"http://192.168.2.33:8080/TestServer/login"];//不需要传递参数
// .创建请求对象
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:URL];//默认为get请求
request.timeoutInterval=5.0;//设置请求超时为5秒
request.HTTPMethod=@"POST";//设置请求方法
//设置请求体
NSString *param=[NSString stringWithFormat:@"username=%@&pwd=%@",@"uu",@"pp"]; // 不能为中文
//把拼接后的字符串转换为data,设置请求体
request.HTTPBody=[param dataUsingEncoding:NSUTF8StringEncoding];
// .发送请求
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
三:网络请求框架
https://github.com/wolvesqun/IOS-WFAsyncHttp (WFAsyncHttp)
此请求框架主要封装了IOS的Http请求,封装了同步请求(WFSyncHttpClient.h)与异步请求(WFAsyncHttpManager.h | WFAs yncHttpClient.h),两种请求方式都有POST请求和GET请求,其中WFAsyncHttpClient.h还封装了系统的请求(系统请求是采取队列方式), 当然,此框架还提供设置请求头。最重要的是还提供了缓存策略,目前只提供四种。还有封装了网页缓存功能,和图片缓存功能。 具体使用如下:
注意
1. 所有的请求都必须传入URLString,以及成功|失败回调,其它参数根据需要引入
2. 缓存策略:
2.1. WFAsyncCachePolicyType_Default = 0, // *** 不提供缓存
2.2. WFAsyncCachePolicyType_ReturnCache_DontLoad = 1, // *** 返回缓存不请求网络
2.3. WFAsyncCachePolicyType_ReturnCache_DidLoad = 2, // *** 返回缓存并且加载
2.4. WFAsyncCachePolicyType_Reload_IgnoringLocalCache = 3, // *** 忽略本地缓存并加载 (使用在更新缓存)