0

ここのような URL があります。それを Safari のアドレス バーに入力すると、「エラー」や「OK」などの結果が表示されます。

では、コード内からその URL を適切に呼び出して、その結果を文字列として取得するにはどうすればよいでしょうか?

で試してみましNSURLConnectionたがNSURLRequestNSURLResponse応答オブジェクトは常にnilです。

4

1 に答える 1

1

これらのクラスの「応答」は、コンテンツではなく、プロトコル応答 (HTTP ヘッダーなど) を指します。

コンテンツを取得するには、いくつかのオプションがあります。

  1. 非同期モードで NSURLConnection を使用する: NSURLConnectionの使用
  2. 同期モードで 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];
    
  3. 使用する[NSString stringWithContentsOfURL:]

    NSURL *URL = [NSURL URLwithString:@"http://www.myserver.com/myservice.php?param=foobar"];
    NSString *content = [NSString stringWithContentsOfURL:URL];
    

もちろん、応答性を維持するために、コンテンツのサイズが非常に小さい場合にのみ、オプション 2 と 3 を使用する必要があります。

于 2010-07-14T20:30:49.977 に答える