首页 > 解决方案 > 将网页的内容存储到一个字符串中并将其与另一个字符串进行比较

问题描述

我正在尝试获取网站上托管的 .txt 文件的内容,并将其与字符串或“密钥”进行比较。两个字符串读起来是一样的,但是当在 if 语句中相互比较以查看它们是否匹配时,它们显然不匹配。

例如http://1.2.3.4/test.txt的内容是 'hello'

using System;
using System.IO;
using System.Net;


namespace TestProgram
{
    public class Program
    {
        static void Main(string[] args)
        {
            string key = "hello";
            WebRequest request = WebRequest.Create("http://1.2.3.4/test.txt");
            WebResponse response = request.GetResponse();
            Stream data = response.GetResponseStream();
            string html = String.Empty;
            using (StreamReader sr = new StreamReader(data))
            {
                html = sr.ReadToEnd();
            }
            if (html == key)
            {
                Console.WriteLine("True");
                Console.ReadKey();
            }          
        }
    }  
}

我试过html.Equals(key)了,也不管用。我也使用WebClient过并得到相同的结果。

标签: c#

解决方案


txt如果您以文件为例会更好,我想文件中有一些字符转义,例如\n(新行),因此您应该先修剪或替换响应文本中的这个新行字符,然后再检查平等:

修剪:

html.Trim()

代替:

html.Replace(System.Environment.NewLine, string.Empty);

也,看到这个问题


推荐阅读