3

我想为 Google 搜索创建一个简单的异步请求。

根据谷歌的说法,最简单的方法是使用他们的 JSON API 和简单的 curl 请求

curl -e http://www.my-ajax-site.com \ 'https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=Paris%20Hilton'

我想提取结果的前 5 页并将每个结果的 URL 添加到数组中。我发现很难在 HttpClient.GetAsync 上找到任何解释清楚的教程。我没有比这更进一步的了:

public String[] search(String term = "")
{
    var rq = new HttpClient();
    var uri = new Uri("https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=site:" + term);
    rq.GetAsync(uri);
}

我想这应该启动一个任务,这样我就不会阻塞主线程,但是如何在请求完成时注册一个回调方法?

4

2 回答 2

7

由于 GetAsync 是您可以执行的任务

     rq.GetAsync(uri).ContinueWith((requestTask) => SomeMethod(requestTask););
于 2013-02-01T11:37:29.443 回答
4
HttpResponseMessage response = await rq.GetAsync(uri);

//put here your continuation logic. 
于 2013-02-01T11:37:56.777 回答