stringWithContentsOfURL和HTTP 500错误代码

时间:2009-06-14 22:42:35

标签: iphone objective-c

我正在尝试从服务器中提取一些数据(我没有自己的服务器)但是它会返回一些带有http 500错误代码的所需数据,但是如果服务器返回http代码500,NSString stringWithContentsOfURL将返回nil。

即使服务器返回500,我也想检索数据。

2 个答案:

答案 0 :(得分:3)

NSURLConnection(作为URL Loading System的一部分)将为您提供对请求和响应解释的较低级别控制权;你将不得不实现一些回调方法来处理对请求的细粒度控制(你可以选择同步调用它来模仿stringWithContentsOfURL:,但它会给你你想要的。

[NSString stringWithContentsOfURL:]非常方便,但在你的情况下,你想要绕过cocoa解释HTTP响应代码的方式,这样就需要更多的工作。

答案 1 :(得分:1)

您可以仔细使用此代码(绝不使用GUI线程):

NSURLRequest * request = ...

NSError * error = nil;
NSURLResponse * response = nil;

NSData * data = [NSURLConnection sendSynchronousRequest:request 
                                      returningResponse:&response 
                                                  error:&error];

NSInteger httpCode = [(NSHTTPURLResponse *)response statusCode];