Почему бы не использовать WebClient?
private void DownloadString()
{
var wc = new WebClient();
wc.DownloadStringCompleted += MyHandler;
wc.DownloadStringAsync(carUrl);
}
void MyHandler(object sender, DownloadStringCompletedEventArgs e)
{
var result = e.Result;
}
Обратите внимание, что это общее решение для загрузки строки.Если вы решаете JSON, используйте для этого типа взаимодействия один из методов, включенных в JSON.Net.
Также обратите внимание, что вы можете захотеть спрятать ваш объект результата где-нибудь, чтобы к нему можно было получить доступ в результатах поиска.страницы, или выполните загрузку / десериализацию там.