我想为Google搜索创建一个简单的异步请求。
根据谷歌的说法,最简单的方法是使用他们的JSON API和简单的卷曲请求
curl -e http://www.my-ajax-site.com \ 'https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=Paris%20Hilton'
我想提取前5页的结果,并将每个结果的网址添加到数组中。我发现在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);
}
我想这应该启动一个任务,所以我不会阻止主线程,但是如何在请求完成时注册一个回调方法?
答案 0 :(得分:6)
由于GetAsync是您可以执行的任务
rq.GetAsync(uri).ContinueWith((requestTask) => SomeMethod(requestTask););
答案 1 :(得分:4)
HttpResponseMessage response = await rq.GetAsync(uri);
//put here your continuation logic.