从响应流中获取javascript文件的正确编码以进行检查

时间:2012-02-16 12:12:05

标签: c# httpwebresponse

我正在使用以下方法将响应流转换为字符串。该流包含JavaScript。

    public string GetFileAsString()
    {
        using (WebResponse response = this.GetWebResponse())
        {
            Stream responseStream = response.GetResponseStream();

            if (responseStream != null)
            {
                // Pipe the stream to a stream reader with the required 
                // encoding format.
                using (StreamReader reader = new StreamReader(
                                                 responseStream, 
                                                 Encoding.UTF8))
                {
                    return reader.ReadToEnd();
                }
            }

            return string.Empty;
        }

当我尝试测试有效终结符的字符串时,结果总是为假,例如。

        // Check for a valid ; terminator.
        bool hasTerminator = script.EndsWith(";", StringComparison.Ordinal);

        if (!string.IsNullOrWhiteSpace(script) && !hasTerminator)
        {
            script += ";";
        }

        return script;

在我看来,我需要更聪明的检查,但我不确定是什么问题。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您的代码实际上适用于我在控制台应用中。输入字符串为“test”和“test”;分别产生错误和真实。但是“test;”不起作用,你可能想要trimend()删除空格:

script = script.TrimEnd();