gpt4 book ai didi

ios - NSURLRequest返回零

转载 作者:行者123 更新时间:2023-12-01 18:13:04 25 4
gpt4 key购买 nike

我正在从JSON服务执行简单的数据下载。调用时,请求将返回nil响应对象。这似乎是我多次使用的相同代码,但是现在我对为什么请求返回nil感到困惑。我已经验证了生成的URL是有效的,并且确实返回了数据。我是否缺少明显的东西?谢谢!

NSString *serviceEndpoint = [NSString stringWithFormat:@"http://waterservices.usgs.gov/nwis/iv/?sites=%@&period=PT%luH&format=json", guageID, hours];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:serviceEndpoint]];

NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
// response is nil at this point
NSDictionary *rvData = [NSJSONSerialization JSONObjectWithData:response options:0 error:&jsonError];

最佳答案

您完全无视同样从sendSynchronousRequest方法填充的NSError和NSURLResponse。

首先,添加检查以查询是否已填充NSError(如果NSURLResponse为nil),如果不是,则应检查它以确定请求的问题。您还可以深入研究NSURLResponse对象,以观察任何属性以帮助调试问题:

NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:[NSURL  URLWithString:@"http://waterservices.usgs.gov/nwis/iv/?sites=%@&period=PT%@luH&format=json", guageID, hours]];
[request setHTTPMethod:@"GET"];
[request setValue:@"application/json;charset=UTF-8" forHTTPHeaderField:@"content-type"];
NSError *err;
NSURLResponse *response;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
if (responseData != nil)
{
NSDictionary *jsonArray = [NSJSONSerialization JSONObjectWithData:responseData options: NSJSONReadingMutableContainers error: &err];
}
else
{
if (error != nil)
{
NSLog(@"Error description=%@", [err description]);
}
}

关于ios - NSURLRequest返回零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26674775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com