2013-10-24 20 views
0

任何人都可以提出一個方法來搜索網頁上的繩子,使用ASP .NET C#搜索字符串其他一些網頁上

場景:文本框有一定的價值(字符串),並點擊按鈕它會在某個xyz頁面上搜索該值(字符串)。

例如:我在文本框中有「youtube」(字符串),當我按下提交按鈕時。該提交按鈕可以獲取Google.com(呈現頁面)的全部信息,並在該Google.com上搜索「youtube」(字符串)

可能的解決方案: 我認爲這可以通過某種方式呈現該頁面暫時在某處 - 或某些 - 如何將響應存儲在任何字符串或數組中,然後查看該字符串。

任何人都可以提出一種方法來解決上述情況。如果可能的話舉一個例子。

回答

0

使用web請求獲得頁面:

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); 
    }