如何从应用程序xcode获取网页信息

时间:2015-06-23 00:47:34

标签: objective-c

我的网页www.example.com/hello.php,php代码为:

 echo "Hello";

如何从我的iphone应用程序中获取我的网页中显示的信息(使用目标C)。

2 个答案:

答案 0 :(得分:0)

使用OP的代码并更正语法,将方案添加到URL并更改dataWithContentsOfURL:以添加错误参数并将xx替换为:txtUser.text

NSString *strURL = [NSString stringWithFormat:@"http://example.com/hello.php?var1=%@", @"xx"];
NSURL *url = [NSURL URLWithString:strURL];
NSLog(@"url: %@", url);
NSError *error;
NSData *dataURL = [NSData dataWithContentsOfURL:url options:0 error:&error];
if (dataURL == nil) {
    NSLog(@"error: %@", error);
}
else {
    NSLog(@"dataURL: %@", dataURL);
    NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];
    if ([strResult isEqualToString:@"Hello"]) {
        NSLog(@"Finally Works");
    }
}

输出:

  

url:http://example.com/hello.php?var1=xx
  错误:错误Domain = NSCocoaErrorDomain Code = 256“无法打开文件”hello.php“。” UserInfo = 0x1005036d0 {NSURL = http://example.com/hello.php?var1=xx}

请注意错误。

如果返回响应的方法(例如sendSynchronousRequest:returningResponse:error:)将出现“HTTP错误404 - 找不到文件或目录”错误消息。

始终使用返回最多信息的方法调用。

答案 1 :(得分:-1)

请将您的评论中的代码发布为您的问题的编辑,格式化代码!然后也许我们可以提供帮助

试试这个

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"YOUR URL"]];
    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {

        NSString *strResult = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
        NSLog(@"%@", strResult);

    }];

我知道这可以用于工作网址,但是当我转到您在问题中发布的网址时,似乎会被打破,这可能是您的问题