2017-02-08 67 views
0
NSString *url = [NSString stringWithFormat: @"http://apis.haoservice.com/weather?cityname=%@&key=%@", cityname, China_Weather_APP_KEY]; 

NSString *url_after = [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]; 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url_after] 
                 cachePolicy:NSURLRequestUseProtocolCachePolicy 
                timeoutInterval:10.0]; 
[request setHTTPMethod:@"GET"]; 

NSURLSession *session = [NSURLSession sharedSession]; 
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request 
              completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { 
               if (error) { 
                NSLog(@"%@", error); 
               } else { 
                NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response; 
                NSLog(@"%@", response); // Here I print the response information 
               } 
              }]; 
[dataTask resume]; 

的NSLog的信息是这样的:NSMutableURLRequest的响应不包含的信息

2017-02-08 12:17:21.324 XXX[4168:197023] <NSHTTPURLResponse: 0x608000436240> { URL: http://apis.haoservice.com/weather?cityname=%E6%88%90%E9%83%BD&key=af4587a7d87740ae9a0d73697e0cccc9 } { status code: 200, headers { 
"Cache-Control" = private; 
Connection = "keep-alive"; 
"Content-Encoding" = gzip; 
"Content-Type" = "text/html; charset=utf-8"; 
Date = "Wed, 08 Feb 2017 03:48:39 GMT"; 
Server = "nginx/1.10.2"; 
"Transfer-Encoding" = Identity; 
"X-AspNet-Version" = "4.0.30319"; 
"X-Powered-By" = "ASP.NET"; 
"X-Safe-Firewall" = "zhuji.360.cn 1.0.9.47 F1W1"; 
} } 

但如果我张贴此网址到浏览器:

http://apis.haoservice.com/weather?cityname=成都&key=af4587a7d87740ae9a0d73697e0cccc9 

该页面将显示结果我想要得到:

enter image description here

为什么我的回复没有包含图片的信息?

回答

1

您需要访问您与服务器响应以获得JSON响应得到了data,所以用NSJSONSerialization从rsponse数据获取Dictionary对象。

if (error) { 
    NSLog(@"%@", error); 
} else { 
    NSError* parseError; 
    NSDictionary* json = [NSJSONSerialization JSONObjectWithData: data options:kNilOptions error:&parseError]; 
    NSLog(@"%@",json);         
}