如何从字符串中获取有效的URL?

时间:2010-02-13 02:50:54

标签: iphone objective-c xcode

我在应用程序上使用NSURLConnection。 为了创建HTTP连接,我使用了以下代码:

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL 
                                       URLWithString:@"http://www.mydomain.com/path/sample.php?id=emailaddress@mail.com"]                       cachePolicy:NSURLRequestUseProtocolCachePolicy 
                                     timeoutInterval:45];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:request 
                                                                 delegate:self];

但它在控制台上抛出了这个请求的一些例外:

Connection failed! Error - bad URL (null)

所以,我把URL放在Safari的地址栏中。 Safari修复了以下网址:

http://www.mydomain.com/path/sample.php?id=%1B%1Bemailaddress@mail.com

如何更正像Safari这样的网址?

是否存在与此问题相关的API方法?

提前致谢。

1 个答案:

答案 0 :(得分:3)

在将NSString传递给NSURL之前,请在NSString上使用-stringByAddingPercentEscapesUsingEncoding:方法。你应该能够为你正在做的事情传递NSASCIIStringEncoding。