C# 从URL下载XML时遇到的奇怪问题

C# 从URL下载XML时遇到的奇怪问题,c#,xml,ssis,C#,Xml,Ssis,我试图使用SSIS将RSS提要中的数据加载到SQL Server数据库中,但遇到了连接问题 示例URL:https://ecf.akb.uscourts.gov/cgi-bin/rss_outside.pl 可以从web浏览器正常连接 我尝试使用这个站点作为模板,一切都很顺利,我能够连接甚至生成一个.xsd文件,但是当我运行它时,我得到了一个关于SSL\TSL证书的警告。我还尝试使用内置的Web服务任务,但在尝试下载带有证书的WSLD文件时也遇到了问题 基于这两个站点,我尝试了另一种途径,在尝试

我试图使用SSIS将RSS提要中的数据加载到SQL Server数据库中,但遇到了连接问题

示例URL:https://ecf.akb.uscourts.gov/cgi-bin/rss_outside.pl 可以从web浏览器正常连接

我尝试使用这个站点作为模板,一切都很顺利,我能够连接甚至生成一个.xsd文件,但是当我运行它时,我得到了一个关于SSL\TSL证书的警告。我还尝试使用内置的Web服务任务,但在尝试下载带有证书的WSLD文件时也遇到了问题

基于这两个站点,我尝试了另一种途径,在尝试处理XML数据之前,我尝试使用C脚本任务将XML数据下载到一个文件中

使用此示例提要URL,代码运行良好:

WebClient webClient = new WebClient();
webClient.DownloadFile(@"http://feeds.thehollywoodgossip.com/TheHollywoodGossip?format=xml", @"C:\RSS\RSSFile.xml");
但是,当我尝试使用法庭需要的URL时,它失败了:

WebClient webClient = new WebClient();
webClient.DownloadFile(@"https://ecf.akb.uscourts.gov/cgi-bin/rss_outside.pl?format=xml", @"C:\RSS\RSSFile.xml");

法庭的URL有什么不同\错误吗?我是一个完全的C新手,所以我希望这是一个非常简单的东西。你们有没有人看到我做错了什么,或者需要与好莱坞八卦URL的例子有所不同

谢谢

编辑:这是法院URL返回的错误

   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
   at Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()

尝试使用XMLLINQ执行以下操作。并非每个条目都有href:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
using System.Net;

namespace ConsoleApplication1
{
    class Program
    {
        const string URL = "http://feeds.thehollywoodgossip.com/TheHollywoodGossip?format=xml";
        static void Main(string[] args)
        {
            XDocument doc = XDocument.Load(URL);
            XElement feed = doc.Root;
            XNamespace ns = feed.GetDefaultNamespace();
            List<Entry> entries = feed.Elements(ns + "entry").Select(x => new Entry()
            {
                id = (string)x.Element(ns + "id"),
                published = (string)x.Element(ns + "published"),
                updated = (DateTime)x.Element(ns + "updated"),
                href = (string)x.Descendants(ns + "href").FirstOrDefault(),
                title = (string)x.Element(ns + "title"),
                content = (string)x.Element(ns + "content"),
                category = (string)x.Element(ns + "category"),
                author = (string)x.Element(ns + "author")
            }).ToList();

        }
    }
    public class Entry
    {
        public string id {get;set;}
        public string published {get;set;}
        public DateTime updated {get;set;}
        public string href {get;set;}
        public string title {get;set;}
        public string content {get;set;}
        public string category {get;set;}
        public string author { get; set; }
    }

}

尝试在第一行添加此代码:

ServicePointManager.SecurityProtocol=SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
您得到的错误是什么?我使用WebClient从那个url下载没有问题。@jira,你是说第二个,akb.uscourts.gov,工作正常吗?我在帖子正文中添加了这个错误,因为thorwn的内容太大,无法发表评论。是的,第二个链接可以正常工作。你的错误是由其他原因造成的。奇怪的是,我只是尝试了一台不同的计算机,更高版本的VS,但仍然得到了与上面相同的结果。从一个空白脚本任务中,我所做的只是使用System.Net添加;在顶部,然后在红色箭头之间切换URL,如图所示:哈!成功了,谢谢@scrasty。我猜我之前使用的默认任务的安全问题也是由同样的原因造成的。这看起来像是它试图解析八卦网站XML,而不是将其下载到文件中。我遇到的问题是法院的URL,结果我只需要添加一行关于安全协议的内容;看起来网站不需要任何安全保护。