Javascript 使用Meteor扩展缩短的URL

Javascript 使用Meteor扩展缩短的URL,javascript,node.js,meteor,Javascript,Node.js,Meteor,我正在尝试在我的Meteor应用程序中扩展一个缩短的URL,这个URL可能被缩短了多次。 我在这里遵循了Axel Rauschmayer给出的node.js示例: 他的基本node.js示例如下所示: var request = require("request"); function expandUrl(shortUrl) { request( { method: "HEAD", url: shortUrl, followAllRedirects: true }, f

我正在尝试在我的Meteor应用程序中扩展一个缩短的URL,这个URL可能被缩短了多次。 我在这里遵循了Axel Rauschmayer给出的node.js示例:

他的基本node.js示例如下所示:

var request = require("request");

function expandUrl(shortUrl) {
    request( { method: "HEAD", url: shortUrl, followAllRedirects: true },
        function (error, response) {
            console.log(response.request.href);
        });
}
HTTP.call("HEAD", 'http://bit.ly/1adkwWO',{},
        function (error, result){
            if (!error){
                console.log("result: " + JSON.stringify(result));
                console.log("statusCode: " + result.statusCode);
                console.log("data: " + result.data);
                console.log("headers: " + JSON.stringify(result.headers));
                console.log("href: " + result.request.href);

            }else {
                console.log(error);
            }
        });
I20150410-08:43:10.961(1)? statusCode: 200
I20150410-08:43:10.961(1)? data: null
I20150410-08:43:10.961(1)? headers: {"date":"Fri, 10 Apr 2015 07:43:10 GMT","content-type":"text/html; charset=UTF-8","connection":"keep-alive","set-cookie":["__cfduid=d1c9e25e3211f8c83df44b779033c8cc81428651790; expires=Sat, 09-Apr-16 07:43:10 GMT; path=/; domain=.reddit.com; HttpOnly"],"x-ua-compatible":"IE=edge","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","x-xss-protection":"1; mode=block","vary":"accept-encoding","x-moose":"majestic","cache-control":"no-cache","cf-cache-status":"MISS","server":"cloudflare-nginx","cf-ray":"1d4cd1b8b5c81347-LHR"}
I20150410-08:43:10.974(1)? Exception in callback of async function: TypeError: Cannot read property 'href' of undefined
I20150410-08:43:10.974(1)?     at app/twittest.js:91:58
I20150410-08:43:10.974(1)?     at runWithEnvironment (packages/meteor/dynamics_nodejs.js:108:1)
我尝试使用Meteor的http包(我相信它是建立在与上面使用的相同的“请求”节点包上)重新实现它

我尝试在Meteor中使用一个goo.gl url,该url指向一个bit.ly url,该url指向Meteor子Reddit,如下所示:

var request = require("request");

function expandUrl(shortUrl) {
    request( { method: "HEAD", url: shortUrl, followAllRedirects: true },
        function (error, response) {
            console.log(response.request.href);
        });
}
HTTP.call("HEAD", 'http://bit.ly/1adkwWO',{},
        function (error, result){
            if (!error){
                console.log("result: " + JSON.stringify(result));
                console.log("statusCode: " + result.statusCode);
                console.log("data: " + result.data);
                console.log("headers: " + JSON.stringify(result.headers));
                console.log("href: " + result.request.href);

            }else {
                console.log(error);
            }
        });
I20150410-08:43:10.961(1)? statusCode: 200
I20150410-08:43:10.961(1)? data: null
I20150410-08:43:10.961(1)? headers: {"date":"Fri, 10 Apr 2015 07:43:10 GMT","content-type":"text/html; charset=UTF-8","connection":"keep-alive","set-cookie":["__cfduid=d1c9e25e3211f8c83df44b779033c8cc81428651790; expires=Sat, 09-Apr-16 07:43:10 GMT; path=/; domain=.reddit.com; HttpOnly"],"x-ua-compatible":"IE=edge","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","x-xss-protection":"1; mode=block","vary":"accept-encoding","x-moose":"majestic","cache-control":"no-cache","cf-cache-status":"MISS","server":"cloudflare-nginx","cf-ray":"1d4cd1b8b5c81347-LHR"}
I20150410-08:43:10.974(1)? Exception in callback of async function: TypeError: Cannot read property 'href' of undefined
I20150410-08:43:10.974(1)?     at app/twittest.js:91:58
I20150410-08:43:10.974(1)?     at runWithEnvironment (packages/meteor/dynamics_nodejs.js:108:1)
并生成一个控制台日志,如下所示:

var request = require("request");

function expandUrl(shortUrl) {
    request( { method: "HEAD", url: shortUrl, followAllRedirects: true },
        function (error, response) {
            console.log(response.request.href);
        });
}
HTTP.call("HEAD", 'http://bit.ly/1adkwWO',{},
        function (error, result){
            if (!error){
                console.log("result: " + JSON.stringify(result));
                console.log("statusCode: " + result.statusCode);
                console.log("data: " + result.data);
                console.log("headers: " + JSON.stringify(result.headers));
                console.log("href: " + result.request.href);

            }else {
                console.log(error);
            }
        });
I20150410-08:43:10.961(1)? statusCode: 200
I20150410-08:43:10.961(1)? data: null
I20150410-08:43:10.961(1)? headers: {"date":"Fri, 10 Apr 2015 07:43:10 GMT","content-type":"text/html; charset=UTF-8","connection":"keep-alive","set-cookie":["__cfduid=d1c9e25e3211f8c83df44b779033c8cc81428651790; expires=Sat, 09-Apr-16 07:43:10 GMT; path=/; domain=.reddit.com; HttpOnly"],"x-ua-compatible":"IE=edge","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","x-xss-protection":"1; mode=block","vary":"accept-encoding","x-moose":"majestic","cache-control":"no-cache","cf-cache-status":"MISS","server":"cloudflare-nginx","cf-ray":"1d4cd1b8b5c81347-LHR"}
I20150410-08:43:10.974(1)? Exception in callback of async function: TypeError: Cannot read property 'href' of undefined
I20150410-08:43:10.974(1)?     at app/twittest.js:91:58
I20150410-08:43:10.974(1)?     at runWithEnvironment (packages/meteor/dynamics_nodejs.js:108:1)
我可以看到,当域名“reddit.com”出现在标题中时,我正在从reddit返回响应,但我无法检索URL,因为响应对象不存在

是否有任何明显的地方表明我做错了,请求模块是否在我上面发布的示例之后发生了更改


感谢您查看

能否尝试
console.log(result.request)
?console.log(result.request)返回未定义的