2013-10-24 3 views
0

Может кто-нибудь предложить способ поиска строки на веб-странице, с помощью ASP .NET C#Выберите строку на другую страницу

Сценарий: текстовое поле имеет некоторое значение (строка), и нажатием кнопки он ищет это значение (строку) на некоторой странице xyz.

Пример: У меня есть «youtube» (строка) в текстовом поле и когда я нажимаю кнопку отправки. Эта кнопка отправки получает всю информацию о сайте Google.com (отображаемая страница) и ищет «youtube» (строку) на этом сайте Google.com

Возможное решение: Я думаю, что это может быть достигнуто путем рендеринга как-то страницу временно, где-то, или как-то, как хранить ответ в любой строке или массиве, а затем посмотреть эту строку.

Может кто-нибудь предложить способ решения вышеуказанного сценария. Если возможно, пример.

ответ

0

использовать веб-запрос, чтобы получить страницу:

WebRequest request = WebRequest.Create(http://www.google.com); 
request.Method = "GET"; 
WebResponse response = request.GetResponse(); 
Stream stream = response.GetResponseStream(); 
StreamReader reader = new StreamReader(stream); 
string content = reader.ReadToEnd(); 
reader.Close(); 
response.Close(); 

затем просто поиск по вашей content строки:

int i = content.IndexOf("youtube"); 

или же вы хотите, чтобы найти его.

0

Вы можете сделать это с асинхронным/ждать, если вы используете .NET 4.5

static void Main(string[] args) 
    { 
     var content = GetUrlContents("http://www.google.com"); 

     if (content.Result.Contains("Google")) 
      Console.WriteLine("Google found!"); 

     Console.Read(); 
    } 

    static async Task<string> GetUrlContents(string url) 
    { 
     HttpClient client = new HttpClient(); 

     var content = await client.GetStringAsync(url); 

     return content; 
    } 

Или, если вы хотите синхронные, вы могли бы сделать этот вид метода

public static string GetUrlContents(string url) 
    { 
     return new WebClient().DownloadString(address); 
    } 
Смежные вопросы