【问题标题】:NSURL with encoding带有编码的 NSURL
【发布时间】:2011-11-15 03:33:42
【问题描述】:

我有一个这个 URL,但我似乎无法让下面的代码工作

在此代码中 urlToGrab = http://192.1.1.233:8000/en-US/app/search/flashtimeline?auto_pause=true&q=search%20host%3D%22JRVIN-LT%22

NSURL *url = [NSURL URLWithString:urlToGrab];
[webView loadRequest:[NSURLRequest requestWithURL:url]];

此代码不起作用。设置断点时'url'为空。如果我使用“http://192.1.1.233:8000/en-US/app/search/flashtimeline?auto_pause=true&q=search”,它将起作用。

【问题讨论】:

  • 你好 igervin...我写了下面的代码....但我没有得到 null

标签: iphone ios nsurl


【解决方案1】:

您必须先对字符串进行 URL 解码。示例:

NSString * urlToGrab = [[@"http://192.1.1.233:8000/en-US/app/search/flashtimeline?auto_pause=true&q=search%20host%3D%22JRVIN-LT%22"
    stringByReplacingOccurrencesOfString:@"+" withString:@" "]
    stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL *url = [NSURL URLWithString:urlToGrab];
[webView loadRequest:[NSURLRequest requestWithURL:url]];

将“+”替换为“”以防万一您有另一个包含“+”的编码 URL。

【讨论】:

    【解决方案2】:

    我写了下面的代码......但我没有得到空

    NSString *str=[[NSString alloc] initWithString:@"http://192.1.1.233:8000/en-US/app/search/flashtimeline?auto_pause=true&q=search%20host%3D%22JRVIN-LT%22"];
    NSURL *url = [NSURL URLWithString:str];
    

    【讨论】:

    • 问题不在于 OP 是否为空。顺便说一句,在 Objective-C 中没有什么叫做 null,它是 nil。问题是为什么 webView 不能正确加载 URL。
    【解决方案3】:

    应该是:

    NSString * urlToGrab = [[@"yourURL"
    stringByReplacingOccurrencesOfString:@"+" withString:@" "]
    stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    

    不是“stringByReplacingPercentEscapesUsingEncoding”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-01
      • 1970-01-01
      • 2015-02-11
      • 2012-01-10
      • 2011-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多