1

我正在使用以下命令执行 Web 请求:

            // create http request
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            // set user agent
            req.UserAgent = "Mozilla/5.0 (X11; U; Linux i586; de; rv:5.0) Gecko/20100101 Firefox/5.0";
            req.AllowAutoRedirect = true;
            req.MaximumAutomaticRedirections = 3;
            // retrieve response
            HttpWebResponse rep = (HttpWebResponse)req.GetResponse();
            HttpStatusCode  stc = rep.StatusCode;

在某些 URL(但不是全部)上,状态返回 OK,内容长度为 -1,但如果我直接使用 Firefox,它会呈现。

我需要提供给 C# 的设置吗?示例链接http://www.cbsstore.com/detail.php?p=382214&ecid=5511&pa=CSE-FGL&CAWELAID=1599172025

4

1 回答 1

3

如果您从 获取内容长度HttpWebResponse.ContentLength,则 -1 的值并不意味着没有内容 - 它意味着“继续阅读,直到您到达流的末尾”(因为Content-Length尚未设置标题)。内容长度为零意味着没有内容。

基本上,如果您想查看内容,您应该实际尝试阅读它:)

于 2013-02-13T17:05:06.947 回答