内部RSS提要不使用webClient对象

时间:2010-02-25 21:04:35

标签: c# rss

作为我们应用程序的一部分,我们需要下载RSS源。我们的客户有一个内部RSS提要,可以在IE / Firefox中正常使用,但不适用于我们的应用程序。

应用程序尝试从网址下载。我不确定这里到底是什么错误:

RssChannelDom DownloadChannelDom(string url)
{
    RssChannelDom dom = null;

    System.Net.Cache.RequestCachePolicy policy =
        new System.Net.Cache.RequestCachePolicy(
            System.Net.Cache.RequestCacheLevel.BypassCache);

        WebClient client = new WebClient();
        client.CachePolicy = policy;
        client.Headers.Add("User-Agent", "Mozilla/4.0");
        byte[] feed = client.DownloadData(url);

        // parse it as XML
        XmlDocument doc = new XmlDocument();

        doc.Load(new MemoryStream(feed));

        return dom;
}

客户端网址如下所示:

http://sampleclient/diapatents/index.php/Special:Ask/
    -5B-5BCategory:Patent_Alert
    -5D-5D-20-5B-5BResearch-20Unit::Allergy_and_Respiratory
    -5D-5D-20-5B-5BOrganisation::
    -5D-5D-20-5B-5BTarget::
    -5D-5D-20-5B-5BIndication::
    -5D-5D-20-5B-5BDate::
    -20-3E-20-0A-5D-5D-20-5B-5BRevised-20Since::
    -20-3E-20-0A2009-2D8-5D-5D/sort-3DDate/order-3DDESC/
    format-3Drss/rsstitle%3DPfizerpediaPatents/rssdescription-3DRSS-20Feed:
    -20Allergy-20and-20Respiratory-20recently-20uploaded-20or-20revised/
    limit%3D400

2 个答案:

答案 0 :(得分:2)

您总是返回null,因为您没有对要返回的dom变量执行任何操作。

答案 1 :(得分:0)

您并未真正指出问题所在。您需要更具体地指出 您的程序失败的方式。

话虽如此,我会检查以下内容:

  • 查看HTTP结果代码是什么。它应该是200.如果不是,那么它可能表示您提交了格式错误的请求。
  • 如果HTTP结果代码是200,那么请查看返回的流的实际内容。它甚至是XML,还是其他可能表明错误的东西?