3

Google 検索への単純な非同期リクエストを作成したいと思います。

Google によると、これを行う最も簡単な方法は、単純な curl リクエストで 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 ページを取得し、各結果の 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 に答える