0
我有以下信息的HTTP報文:的Javascript:閱讀node.js的HTTP消息
GET /something?name=joe HTTP/1.1
Host: hostname:8080
Connection: keep-alive
...
使用node.js
,我該如何提取名稱字段?我試圖通過消息體查找並發現它是空的,我不確定我有什麼其他選項或如何獲取此值。在此先感謝
我有以下信息的HTTP報文:的Javascript:閱讀node.js的HTTP消息
GET /something?name=joe HTTP/1.1
Host: hostname:8080
Connection: keep-alive
...
使用node.js
,我該如何提取名稱字段?我試圖通過消息體查找並發現它是空的,我不確定我有什麼其他選項或如何獲取此值。在此先感謝
好並不總是需要使用快速簡單的HTTP服務器的解決方案,你也可以在內置的模塊是:
請求的結果:http://example:8080/user?name=Mike&age=32
var http = require('http'),
url = require('url');
http.createServer(function(req, res) {
var path = '',
parsed = url.parse(req.url, true);
if (parsed.pathname === '/user') {
// Requested: { protocol: null,
// slashes: null,
// auth: null,
// host: null,
// port: null,
// hostname: null,
// hash: null,
// search: '?name=Mike&age=32',
// query: { name: 'Mike', age: '32' },
// pathname: '/user',
// path: '/user?name=Mike&age=32',
// href: '/user?name=Mike&age=32' }
console.log('Requested: ', parsed);
path = parsed.pathname;
}
res.end('Found path ' + path);
}).listen(8080);
你能分享你到目前爲止的相關代碼?您是否使用任何特定的HTTP服務器庫或框架?有些會創建一個'request.query'對象,它將'name'作爲一個屬性。但是,如果你只是使用Node自己的API,你必須['parse'](http://nodejs.org/api/url.html#url_url_parse_urlstr_parsequerystring_slashesdenotehost)['request.url'](http: //nodejs.org/api/http.html#http_message_url)。 –