nodejs的http.get通过提供URI
我一直在阅读的http
API,但我找不到一个方法来做一个http.get()
只需提供我想访问的URI。
例如,我从客户端接收一个复杂的URI,比如http://abc:1234/d/e
,我想对它做一个GET
请求。 问题是,如果我必须设置http.get()
方法的options
参数,我将最终在复杂的stringparsing中parsinghost
, port
和path
。 而且,我甚至不确定端口总是会被提供。 有没有办法通过只提供完整的URI做一个http.get()
?
谢谢!
你可以使用url
库来做到这一点。
var parse = require('url').parse; http.get(parse(myurl));
将会工作,因为parsing的url对象的属性与http.get
期望的选项相同。 这不是一个黑客,如果你看看文档,它说这两个库的devise是相辅相成的。
使用url.parse
:
var url = require('url'); var http = require('http'); function download(uri, cb) { http.get(url.parse(uri), cb); }