NSMutableURLRequest 的响应不包含信息

NSMutableURLRequest's response do not contain the information

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信息是这样的:

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";
} }

但是如果我 post 这个 url 到浏览器:

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

页面会显示我想要得到的结果:

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

您需要访问服务器响应中的 data 以获得 JSON 响应,因此请使用 NSJSONSerialization 从响应数据中获取 Dictionary 对象。

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