目标C,在Safari中打开网站而不打开它

时间:2012-02-08 16:23:24

标签: objective-c web-services

我正在尝试找到一种加载网站的方法(用于服务器调用),但我不希望它既可以在safari中打开,也不能在UIWebView中打开。我通常使用此代码在safari中打开

[[UIApplication sharedApplication]
     openURL:[NSURL URLWithString:@"http://www.google.com"]];

和UIWebViews

[web loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:thelink]]];

我尝试使用UIWebView而没有实际的物理但没有加载页面(我知道因为服务器调用根本没有制作)

感谢

3 个答案:

答案 0 :(得分:3)

您应该使用NSURLRequest,例如:

NSString * url = @"http://myapi.mysite.com/api.php";
NSMutableURLRequest * aRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
NSHTTPURLResponse * httpResponse = nil;
NSError * urlError = nil;
NSData * responseData = [NSURLConnection sendSynchronousRequest:aRequest returningResponse:&httpResponse error:&urlError];

如果responseData是响应的主体,您可以使用httpResponse检查状态代码等...

答案 1 :(得分:2)

NSURLConnection是你的朋友:

NSURL *URL = [NSURL URLWithString:@"http://www.google.com"];
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:URL];
// configure req to have post data and such

NSURLResponse *response = nil;
NSError *error = nil;
NSData *data = [NSURLConnection sendSynchronousRequest:req returningResponse:&response error:&error];

// do something with data

答案 2 :(得分:1)

只需使用

NSString *connected = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"] encoding:NSStringEncodingConversionAllowLossy error:nil];

如果连接是!= NULL,那么一切正常