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";
} }
但如果我将此网址发布到浏览器:
http://apis.haoservice.com/weather?cityname=成都&key=af4587a7d87740ae9a0d73697e0cccc9
该页面将显示我想要的结果:
为什么我的回复不包含图片的信息?
答案 0 :(得分:1)
您需要访问服务器响应中的data
才能获得JSON
响应,因此请使用NSJSONSerialization
从rsponse数据中获取Dictionary对象。
if (error) {
NSLog(@"%@", error);
} else {
NSError* parseError;
NSDictionary* json = [NSJSONSerialization JSONObjectWithData: data options:kNilOptions error:&parseError];
NSLog(@"%@",json);
}