2017-02-08 3 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]; 

Die NSLog Informationen ist dies:NSMutableURLRequest Antwort enthalten nicht die Informationen

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

Aber wenn ich diese URL an den Browser schreiben:

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

Die Seite wird das Ergebnis zeige ich wollen bekommen:

enter image description here

Warum enthielt meine Antwort keine Bildinformationen?

Antwort

1

Sie müssen auf die data zugreifen, die Sie mit Ihrer Serverantwort erhalten haben, um die JSON Antwort zu erhalten, verwenden Sie also NSJSONSerialization, um Dictionary-Objekt aus den entsprechenden Daten zu erhalten.

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