获取Web服务的内容

时间:2010-07-14 19:50:04

标签: iphone nsurlconnection nsurlrequest

我有一个像here这样的网址。当我在Safari的地址栏中键入它时,我会看到“错误”或“确定”等结果。

那么,如何从我的代码中正确调用该URL并将该结果作为字符串获取?

我已使用NSURLConnectionNSURLRequestNSURLResponse进行了尝试,但我的回复对象始终为nil

1 个答案:

答案 0 :(得分:1)

这些类中的“响应”是指协议响应(HTTP标头等),而不是内容。

要获取内容,您有以下几种选择:

  1. 在异步模式下使用NSURLConnection:Using 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];
    
  4. 当然,只有当您的内容尺寸非常小时才应使用选项2和3 ,以保持响应能力。