我正在尝试http.get,它总是从服务器返回错误。同样的网址使用postman和chrome成功回答。 我是Meteor的新手。
Meteor.setInterval(function () {
var url = "http://dadosabertos.rio.rj.gov.br/apiTransporte/apresentacao/rest/index.cfm/obterPosicoesDaLinha/217";
HTTP.get(url, {timeout:30000}, function (error, result) {
console.log(error);
if (!error) {
console.log(respose.statusCode, result.data);
}
});
}, 60000);
I20140608-18:26:28.512(-3)? { [Error: failed [400]]
I20140608-18:26:28.513(-3)? response:
I20140608-18:26:28.513(-3)? { statusCode: 400,
I20140608-18:26:28.513(-3)? content: '',
I20140608-18:26:28.513(-3)? headers:
I20140608-18:26:28.513(-3)? { date: 'Sun, 08 Jun 2014 21:26:29 GMT',
I20140608-18:26:28.514(-3)? server: 'Apache',
I20140608-18:26:28.514(-3)? vary: 'Accept-Encoding',
I20140608-18:26:28.514(-3)? 'access-control-allow-origin': '*',
I20140608-18:26:28.514(-3)? connection: 'close',
I20140608-18:26:28.514(-3)? 'transfer-encoding': 'chunked',
I20140608-18:26:28.514(-3)? 'content-type': 'text/html; charset=iso-8859-1' },
I20140608-18:26:28.515(-3)? data: null } }
答案 0 :(得分:0)
也许您正在查看过时的文档或其他内容,但我相信当前在Meteor中使用HTTP GET的方法是使用HTTP.get
(http://docs.meteor.com/#http_get)。
答案 1 :(得分:0)
经过大量的谷歌搜索后,我决定从成功的get中测试http标头。实时HTTP标头是获取标头值的工具。
完整的标题使事情变得更好,我得到了200但有些胡言乱语的数据。
最终测试和解决方案是 {headers:{接受:' / '}} 作为选项值。
从HTTP/1.1 specification状态开始,我收到数据的服务器似乎出错:"如果没有Accept标头字段,则假定客户端接受所有媒体类型&# 34 ;.