小编Beo*_*eon的帖子

为什么C#HttpWebRequest会在ResponseStream上返回500错误,而不是PHP?

如果有人能帮我解决这个问题,我将非常感激.我有一些C#代码,它读入网页的内容以便稍后解析.代码是:

        private StringReader ReadInUrl(string url)
        {
            string result = string.Empty;            
            System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
            request.Method = "GET";           

            using (var stream = request.GetResponse().GetResponseStream())
            using (var reader = new StreamReader(stream, Encoding.UTF8))
            {
                result = reader.ReadToEnd();
            }
            return new StringReader(result);
        }
Run Code Online (Sandbox Code Playgroud)

代码适用于大多数页面,但抛出'远程服务器返回错误:(500)内部服务器错误.' 有一些页面.抛出错误的页面示例如下:http://www.thehut.com/blu-ray/harry-potter-collection-years-1-6/10061821.html

令我困惑的是我可以使用webbrowser查看页面,我还可以使用PHP fopen和fread获取文件的内容,然后在PHP中解析它.

我真的需要能够在C#中做到这一点,我很难过为什么会发生这种情况.如果有人能告诉我为什么我可以使用PHP而不是C#在页面中阅读,以及C#中是否有可以解决此问题的设置?任何答案都感激不尽!

.net c# httpwebrequest

2
推荐指数
1
解决办法
4514
查看次数

标签 统计

.net ×1

c# ×1

httpwebrequest ×1