NSURL URLWithString:myString 返回 Nil?

发布于 2024-11-04 08:48:24 字数 573 浏览 3 评论 0原文

我有一个 url 字符串..我想从该 url 获取数据。为此,我需要创建 NSURL 对象。问题是,当我尝试 NSURL 类的 URLWithString 方法时,它返回 nil。但是当我在 Mac 的 Safari 中打开此链接时,它会向我显示图像。

我正在使用..

NSString *str = @"http://chart.apis.google.com/chart?chs=150x150&cht=qr&chld=L|0&chl=http://MyServer.com/shareMyCard.php?value=1304057103";
NSURL *url = [NSURL URLWithString:str];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *img = [UIImage imageWithData:data];

我不知道为什么URL是Nil。我认为是因为我的字符串中的查询字符串。

任何想法如何从此 URL 字符串获取数据。

谢谢

I have a string of my url.. I want to get data from that url. For that I needs to create object of NSURL. The problem is while I try URLWithString method of NSURL class it returns nil. But when I opens this link in Safari of My Mac it display me the Image.

I am using ..

NSString *str = @"http://chart.apis.google.com/chart?chs=150x150&cht=qr&chld=L|0&chl=http://MyServer.com/shareMyCard.php?value=1304057103";
NSURL *url = [NSURL URLWithString:str];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *img = [UIImage imageWithData:data];

I don't know why the URL is Nil. I think because of query string in my string.

Any Idea how to get data from this Url String.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

何以笙箫默 2024-11-11 08:48:24

您的 URL 为零,因为它包含特殊字符,请使用以下函数对您的 url 参数进行编码,然后再在 URL 中使用它们 -

-(NSString *) URLEncodeString:(NSString *) str
{

    NSMutableString *tempStr = [NSMutableString stringWithString:str];
    [tempStr replaceOccurrencesOfString:@" " withString:@"+" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [tempStr length])];


    return [[NSString stringWithFormat:@"%@",tempStr] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}

Your URL is nil because it contains special chars, use this following function to encode your url parameters before using them in URL -

-(NSString *) URLEncodeString:(NSString *) str
{

    NSMutableString *tempStr = [NSMutableString stringWithString:str];
    [tempStr replaceOccurrencesOfString:@" " withString:@"+" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [tempStr length])];


    return [[NSString stringWithFormat:@"%@",tempStr] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文