Matlab FRED数据导入(获取错误)

时间:2015-07-03 13:50:28

标签: matlab fetch

我总是使用matlab来获取FRED数据,但现在我无法再获取它了。 一个简单的代码,如:

c = fred('http://research.stlouisfed.org/fred2/');
d = fetch(c,'DEXUSEU');

得到错误: 指数超过矩阵维度。

  

fred / fetch中的错误(第93行)d.Data =   [datenum(str2num(TMP(:,1:4)),str2num(TMP(:,6:7)),str2num(TMP(:,9:10)))   str2num(TMP(:,11:结束))]; %#确定

调试fetch函数,它创建的url是正常的,但在第48行使用urlread时结果为:

  

  301永久移动

已移动   永久

该文件已移至此处。

有什么建议吗?

谢谢

1 个答案:

答案 0 :(得分:1)

看起来FRED不喜欢非HTTPS请求。我在Matlab 2015a中报告了相同的错误,但如果您将网址更改为{literal},则可以正常使用。

        {literal}
        $.extend(jQuery.validator.messages, {
            required: 'Este campo es requerido.',
            maxlength: $.validator.format("Favor de ingresar no mas de {0} caracteres."),
            max: $.validator.format("Favor de ingresar un valor menos de o igual a {0}."),
        });
        {/literal}

如果您使用Matlab从FRED请求的网址并将其粘贴到Chrome中,您会收到有效的回复(我猜测Chrome正在做一些事情来跟踪301错误为您提供的链接,而Matlab只是放弃了)。他们仍然允许来自API服务的非HTTPS请求,但基本Matlab https函数不使用实际的FRED API。

更新:我刚收到FRED的以下电子邮件:

  

FRED API需要HTTPS。

     

从2015年8月18日开始,FRED API将需要HTTPS请求。此更改将有助于提供与FRED API的安全通信。自动重定向会将HTTP请求转发到HTTPS。我们建议您更新代码中的URL。 API目前支持HTTPS,允许您使用此安全协议测试应用程序。

     

如果您有任何问题或疑虑,请通过STLS.RSRCHWebmaster@stls.frb.org或314-444-FRED(3733)与我们联系。感谢您使用FRED和FRED API。

     

此致

     

FRED团队