1.ViewController.h
import "ViewController.h"
@interface ViewController ()
{
long long _totalLenght;
}
@property(nonatomic,strong)NSMutableData * receivedData;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (IBAction)GetButtonAction:(id)sender {
//創(chuàng)建URL
NSURL * url = [NSURL URLWithString:@"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213"];
//創(chuàng)建網(wǎng)絡(luò)請求
NSURLRequest * request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
//連接服務(wù)器
NSData * recieved = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString * str = [[NSString alloc] initWithData:recieved encoding:NSUTF8StringEncoding];
NSLog(@"%@",str);
}
- (IBAction)PostButtonAction:(id)sender {
//創(chuàng)建URL
NSString * string =@"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx";
NSURL * url = [NSURL URLWithString:string];
//創(chuàng)建請求
NSString * postStr = @"date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213";
//進(jìn)行網(wǎng)絡(luò)請求
NSData * poatData = [postStr dataUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest * requedt =[[NSMutableURLRequest alloc] initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
//設(shè)置請求方式為post,默認(rèn)Get
[requedt setHTTPMethod:@"post"];
//設(shè)置參數(shù)
[requedt setHTTPBody:poatData];
//進(jìn)行連接服務(wù)器
NSData * recieved = [NSURLConnection sendSynchronousRequest:requedt returningResponse:nil error:nil];
//轉(zhuǎn)換
NSString * backstr = [[NSString alloc] initWithData:recieved encoding:NSUTF8StringEncoding];
NSLog(@"%@",backstr);
}
- (IBAction)DelegateButton:(id)sender {
NSString * strUrl=@"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213";
NSURL * url = [NSURL URLWithString:strUrl];
NSURLRequest * request = [NSURLRequest requestWithURL:url];
//連接服務(wù)器
[NSURLConnection connectionWithRequest:request delegate:self];
//
}
pragma mark ---NSURLConnection 代理方法
//服務(wù)器開始響應(yīng),準(zhǔn)備返回?cái)?shù)據(jù)
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(nonnull NSURLResponse *)response{
//記錄數(shù)據(jù)的總長度,但是也可能沒有(由服務(wù)器決定)
_totalLenght = response.expectedContentLength;
//網(wǎng)絡(luò)??基于http協(xié)議時(shí)(url是以http開頭),reponse本質(zhì)就是NSHTTPURLResponse類型的
NSHTTPURLResponse * httpResponse = (NSHTTPURLResponse *)response;
//創(chuàng)建空的可變的data,接收服務(wù)器的data片段
self.receivedData= [NSMutableData dataWithCapacity:40];
//NSLog(@"---%s",__FUNCTION__);
}
//客戶端接收數(shù)據(jù)
-(void)connection:(NSURLConnection *)connection didReceiveData:(nonnull NSData *)data{
//NSLog(@"---%s",__FUNCTION__);
[_receivedData appendData:data];
}
//數(shù)據(jù)接收成功,網(wǎng)絡(luò)請求成功:
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSLog(@"---%s",FUNCTION);
//開始處理數(shù)據(jù)
NSString * result = [[NSString alloc] initWithData:_receivedData encoding:NSUTF8StringEncoding];
NSLog(@"result =%@",result);
}
//網(wǎng)絡(luò)請求失敗:
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
NSLog(@"---%s",FUNCTION);
}
-
(IBAction)BlokButton:(id)sender {
NSString* string = @"http://blog.csdn.net/dianziagen/article/details/70185911";
NSURL * url = [NSURL URLWithString:string];
NSURLRequest * request = [NSURLRequest requestWithURL:url];
//建立連接
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {//DAta是服務(wù)器返回的完整數(shù)據(jù) //數(shù)據(jù)處理 NSString * result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"%@",result);}];
}