我正在尝试在Google字典中进行搜索,但网址包含垂直竖线/条| 我的代码无法加载网站
//http://www.google.com/dictionary?aq=f&langpair=en|en&q=test+test+test&hl=en
if ([mySearchEngineName isEqualToString:@"Google Dictionary"]){
NSLog(@"Currently searching %@ using %@", mySearchString, mySearchEngineName);
NSString *mutateSearchString = [mySearchString stringByReplacingOccurrencesOfString:@" " withString:@"+"];
NSString *searchURL =[NSString stringWithFormat:@"http://www.google.com/dictionary?aq=f&langpair=en|en&q=%@&hl=en", mutateSearchString];
NSURL *url = [NSURL URLWithString:searchURL];
[webBrowser loadRequest:[NSURLRequest requestWithURL:url]];
}
使用%7C也不起作用..
NSString *searchURL =[NSString stringWithFormat:@"http://www.google.com/dictionary?aq=f&langpair=en%7Cen&q=%@&hl=en", mutateSearchString];
答案 0 :(得分:18)
考虑使用以下内容对您的网址进行编码:
NSURL *url = [NSURL URLWithString:[searchURL stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];
而不是自己手动完成。也许你的mySearchString NSString中还有一些字符也需要编码。在 stringWithFormat '将完整的URL放在一起后运行此编码。