ここのような URL があります。それを Safari のアドレス バーに入力すると、「エラー」や「OK」などの結果が表示されます。
では、コード内からその URL を適切に呼び出して、その結果を文字列として取得するにはどうすればよいでしょうか?
で試してみましNSURLConnection
たがNSURLRequest
、NSURLResponse
応答オブジェクトは常にnil
です。
ここのような URL があります。それを Safari のアドレス バーに入力すると、「エラー」や「OK」などの結果が表示されます。
では、コード内からその URL を適切に呼び出して、その結果を文字列として取得するにはどうすればよいでしょうか?
で試してみましNSURLConnection
たがNSURLRequest
、NSURLResponse
応答オブジェクトは常にnil
です。
これらのクラスの「応答」は、コンテンツではなく、プロトコル応答 (HTTP ヘッダーなど) を指します。
コンテンツを取得するには、いくつかのオプションがあります。
同期モードで NSURLConnection を使用します。
// Error checks omitted
NSURL *URL = [NSURL URLwithString:@"http://www.myserver.com/myservice.php?param=foobar"];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
NSData *data = [NSURLConnection sendSynchronousRequest:request
returningResponse:nil
error:nil];
使用する[NSString stringWithContentsOfURL:]
NSURL *URL = [NSURL URLwithString:@"http://www.myserver.com/myservice.php?param=foobar"];
NSString *content = [NSString stringWithContentsOfURL:URL];
もちろん、応答性を維持するために、コンテンツのサイズが非常に小さい場合にのみ、オプション 2 と 3 を使用する必要があります。