在其他页面上搜索字符串

时间:2013-10-24 11:55:18

标签: c# asp.net c#-4.0 search webpage

任何人都可以使用ASP .net C#

建议一种在网页上搜索字符串的方法

场景:文本框有一些值(字符串),点击按钮它会在某个xyz页面上搜索该值(字符串)。

示例:我在文本框中有“youtube”(字符串),当我按下提交按钮时。该提交按钮获取Google.com(呈现页面)的全部信息,并在该Google.com上搜索“youtube”(字符串)

可能的解决方案: 我认为这可以通过某些方式实现 - 如何暂时将页面呈现在某处 - 或者某种方式 - 如何将响应存储在任何字符串或数组中,然后查看该字符串。

任何人都可以建议一种方法来解决上述情况。如果可能的话,举个例子。

2 个答案:

答案 0 :(得分: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");

或者你想要搜索它。

答案 1 :(得分:0)

如果您使用的是.NET 4.5

,则可以使用async / await执行此操作
    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);
    }