2009-06-14 61 views
2

我想从服务器(我不拥有服务器)拉一些数据,但它返回一些需要的数据与http 500错误代码,但是NSString stringWithContentsOfURL返回nil如果服务器返回HTTP代码500stringWithContentsOfURL和HTTP 500错误代码

我想即使服务器返回500

回答

3

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

[NSString stringWithContentsOfURL:]是个极大的方便,但在你的情况,你想绕开可可解释HTTP响应代码的方式,因此,需要一个微幅下挫更多的工作

1

可以谨慎使用此代码(从来没有从GUI线程):

NSURLRequest * request = ... 

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

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

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