2009-06-14 3 views
2

サーバーからデータを取得しようとしていますが(サーバーは所有していません)、http 500エラーコードで必要なデータを返しますが、NSString stringWithContentsOfURLはサーバーが返された場合はnilを返しますHTTPコード500stringWithContentsOfURLとHTTP 500エラーコード

私は、サーバーがあなたの要求を超える低レベルコントロールと解釈を与える(URL Loading Systemの一部として)500

答えて

3

NSURLConnectionを返す場合でも、データを取得したいのですがレスポンス。あなたは、要求のきめの細かい制御を処理するために、いくつかのコールバックメソッドを実装する必要があります(そして、あなたはstringWithContentsOfURL:を模倣するために、同期、それを呼び出すために選ぶことができますが、それはあなたが望むあなたを与えるだろう。

[NSString stringWithContentsOfURL:]非常に便利ですしかし、あなたのケースであなたはそれがsmidgeより多くの作業が必要ですので、ココアは、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]; 
関連する問題