我总是使用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永久移动
已移动 永久
该文件已移至此处。
有什么建议吗?
谢谢
答案 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团队