2011-08-24 41 views
0

有没有人有幸从Silverlight传递给必应或谷歌基于url参数的字符串,该字符串将在浏览器中打开搜索结果。我一直在使用Bing API,并且能够在客户端中搜索并返回结果,并且我还使用JSON并将值传递给Google API来完成此操作。但是,如果你只想发送一个查询字符串到任一服务,并通过浏览器结果列表返回结果,我还没有发现这是可能的。我想知道是否有可能将术语“gocart”传递给Google或Bing作为url(http:www.bing.com/query?gocart),并且它会在新的浏览器窗口中返回搜索项结果。从我最初的研究中,这两个搜索引擎似乎都是通过URL阻止未经授权的查询,如果有人发现它有所不同,我很好奇。如何从Silverlight或Google将搜索词传递给Bing

感谢

回答

0

我做了一个超链接类:

private class HyperlinkButtonWrapper : HyperlinkButton 
{ 
    public void OpenURL(string navigateUri) 
    { 
     OpenURL(new Uri(navigateUri, UriKind.Absolute)); 
    } 

    public void OpenURL(Uri navigateUri) 
    { 
     base.NavigateUri = navigateUri; 
     base.TargetName = "_blank"; 
     base.OnClick(); 
    } 
} 

然后使用它是这样的:

private void ButtonSearch_Click(object sender, System.Windows.RoutedEventArgs e) 
{ 
    var hyperlinkwrapper = new HyperlinkButtonWrapper(); 
    hyperlinkwrapper.OpenURL(@"http://www.google.com/#q=gocart"); 

} 

我发现,这个blog

0

不能马上测试,但尝试:

HtmlPage.Window.Navigate(new Uri("http://www.bing.com/query?gocart", UriKind.Absolute), "_blank"); 

这将打开一个新的浏览器窗口或标签页中提供的网址...不会期望之间的任何差别谷歌和Bing在这方面。

的MSDN参考链接http://msdn.microsoft.com/en-us/library/cc190508%28v=VS.95%29.aspx

+0

我遇到了一些麻烦用这种方法。它打开页面正常,但它就像我没有搜索查询输入。似乎它忽略查询字符串参数。这发生在一些页面上,并没有发生,所以你可能还没有遇到过。 – Rumplin

0

如果你使用谷歌则可以使用叶海亚的建议得到HTML渲染结果和打开的格式,如这http://www.google.com/#q=gocart的链接。

在我搜索api文档中试过的几个api选项中,我只能更改语言而不输入API密钥。 (http://www.google.com/#q=gocart & hl = fr为法语)页面结果大小等失败,但如果你正在寻找快速和肮脏的东西,没有太多的控制,上述将工作。

相关问题