c# - httpwebrequest getresponse() 不返回任何内容,而 fiddler 显示内容

标签 c# httpwebrequest httpwebresponse

我创建了 GetCourses() 方法,其中使用 HttpWebRequest 从显示的 Url 请求数据。如果我将 url 复制粘贴到浏览器中,浏览器将显示 xml 数据。我还使用 fiddler 来完成一些请求。在 fiddler 上它说数据已编码,我必须对其进行解码。因此,我单击了“解码”,就可以看到 XML。但是,使用下面的代码我得到 Content-Length=-1。

public static void GetCourses()
    {
        try
        {
            HttpWebRequest requestForItCourse =
               (HttpWebRequest)WebRequest.Create("http://www.mnsu.edu/schedule/direct.php?action=courses&term=20135&subject=it");
            requestForItCourse.AutomaticDecompression = DecompressionMethods.GZip|DecompressionMethods.Deflate;
            HttpWebResponse responseFromMnsuDirectPhp =
                (HttpWebResponse)requestForItCourse.GetResponse();

            Stream dataStream = responseFromMnsuDirectPhp.GetResponseStream();
            responseFromMnsuDirectPhp.Close();
//Parse and insert courses into the database
        }
        catch (Exception ex)
        {

        }
    }

最佳答案

您需要在关闭响应之前读取响应流。

试试这个:

HttpWebRequest requestForItCourse = (HttpWebRequest)WebRequest.Create("http://www.mnsu.edu/schedule/direct.php?action=courses&term=20135&subject=it");
requestForItCourse.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
HttpWebResponse responseFromMnsuDirectPhp = (HttpWebResponse)requestForItCourse.GetResponse();

StreamReader dataStream = new StreamReader(responseFromMnsuDirectPhp.GetResponseStream());
string data = dataStream.ReadToEnd();

responseFromMnsuDirectPhp.Close();
dataStream.Close();

关于c# - httpwebrequest getresponse() 不返回任何内容,而 fiddler 显示内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15280782/

相关文章:

c# - 将文本文件加载到列表框中

c# - 如果从 using 语句中抛出异常,是否仍会调用清理逻辑?

c# - Xamarin 表单 HttpClient 卡住

c# - C# 中的正则表达式 IsMatch() 方法

c# - 在 C# 中有选择地触发事件

Java:异步任务

c# - HttpClientHandler/请求被中止 : Could not create SSL/TLS secure channel

c# - 如何将 WebResponse.GetResponseStream 返回值转换成字符串?

c# - 如何在 .NET Core 中使用 HttpWebResponse 和 WebResponse?

c# - 从内存中删除项目/页面/用户控件