如何使用NSURLSession从Web服务获取数据?

问题描述:

我已经为打印一个演示代码从Web服务的数据,如何使用NSURLSession从Web服务获取数据?

代码

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 

    [request setURL:[NSURL URLWithString:@"http://54.149.46.64/API/video.php"]]; 
    [request setHTTPMethod:@"POST"]; 
    [request setValue:@"video" forHTTPHeaderField:@"list"]; 
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
    [request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 


    NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; 
    [[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { 
     NSString *requestReply = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; 
     NSLog(@"requestReply: %@", requestReply); 
    }] resume]; 

输出

JSON_Webservices[4496:150468] requestReply: {"Status":"Fail","Message":"Please enter required fields"} 

为什么我无法从WS获取数据?请帮帮我。

做工精细在邮差

图片

enter image description here

谢谢。

enter image description here

enter image description here

+1

我想你不应该设置forHTTPHeaderField视频列表。将其设置为HTTPBody –

+0

如何设置它? @Dheeraj – user7018875

+0

你在POSTMan中传递的参数是什么? –

请检查这...

NSURL *aUrl = [NSURL URLWithString:@"XXXX"]; 
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:aUrl 
                  cachePolicy:NSURLRequestUseProtocolCachePolicy 
                 timeoutInterval:60.0]; 

    [request setHTTPMethod:@"POST"]; 
    NSString *postString = @"list=video"; 
    [request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]]; 

    NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; 
    [[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { 
     NSString *requestReply = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; 
     NSLog(@"requestReply: %@", requestReply); 

     NSError *jsonError; 
     NSData *objectData = [requestReply dataUsingEncoding:NSUTF8StringEncoding]; 
     NSDictionary *json = [NSJSONSerialization JSONObjectWithData:objectData 
                  options:NSJSONReadingMutableContainers 
                   error:&jsonError]; 
     NSLog(@"requestReply: %@", json); 

    }] resume]; 
+0

@ user7018875只需复制并过去此代码并检查它即可。 –

+0

非常感谢buddyyyyy .....非常感谢你 – user7018875

+0

工作精细.... – user7018875