在iphone应用中的Safari中打开Goog​​le网络搜索

时间:2011-01-03 08:55:09

标签: iphone cocoa-touch mobile-safari

我希望Google可以在Safari中打开某个搜索字词,该搜索字词由应用设置。 我知道openURL方法已经使用过但我无法在Safari中打开自定义搜索。

这是我到目前为止的代码

NSString *searchTerm = [NSString stringWithFormat:@"Soccer World Cup"];
searchTerm = [searchTerm stringByReplacingOccurrencesOfString:@" " withString:@"+"];
NSString *url = [NSString stringWithFormat:@"http://www.google.com/#sclient=psy&hl=en&site=&source=hp&q=%@&aq=f&aqi=&aql=&oq=&gs_rfai=&pbx=1&fp=a20cfd04ba3c5cf9",searchTerm];

NSURL *googleURL = [NSURL URLWithString:url];

if(![[UIApplication sharedApplication] openURL:googleURL]){
    NSLog(@"Failed to open URL");
}

此代码最终在Safari中打开Goog​​le,但没有搜索字词

任何帮助将不胜感激!感谢

2 个答案:

答案 0 :(得分:3)

#定义了一个URL片段,通常用于跳转到页面上的特定命名锚点。有些服务器会处理这些信息,但很少见。

您希望使用?来启动您的网址查询参数

http://www.google.com/?sclient=....

答案 1 :(得分:1)

在我看来你的网址不正确。在您的Iphone上打开Safari并在Google搜索字段中进行搜索。从中复制网址。更具体地说,您的网址可能应该如下所示:http://www.google.com/search?(请注意问号,表示网址中参数的开头)。然后,每个参数都是一个名称 - 值对,例如您自己的代码示例中的source=hp。这些对用&字符分隔。您的代码示例中的大多数参数都可能被跳过。

其次,您需要在搜索词中替换多个空格(您需要对其进行urlencode)。

相关问题