2013-06-12 47 views
1

键值对如果请求包含一个标题,例如:节点JS得到头

Authorization: Digest username="Mufasa", 
         realm="[email protected]", 
         nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093" 

节点是否有任何内置的方式来提取键值对?或者我应该只使用string.split

+0

你可以试试'querystring.parse':http://nodejs.org/api/querystring.html –

+0

@TomerArazy:这不是一个查询字符串。 – SLaks

+0

你可以得到req.headers [“授权”],然后解析摘要喜欢这里的例子:http://stackoverflow.com/questions/12850646/cant-get-digest-auth-to-work-with-node- JS – ZimSystem

回答

0

使用URL模块http://nodejs.org/api/url.html

Example: http://www.host.com:8080/path?name=daniel 

注意到一个URL字符串,并返回一个对象。
url.parse(urlStr,[parseQueryString],[slashesDenoteHost])

var server = http.createServer(function (request, response) { 
    var queryData = url.parse(request.url, true).query; 
    response.writeHead(200, {"Content-Type": "text/plain"}); 
    response.end('Hello ' + queryData.name + '\n'); 
} 

在此示例名称被映射到丹尼尔。

+0

是我解析字符串不是查询字符串,它是一个头。 – Drahcir

+0

如果您可以将数据传输格式化为JSON,那么只需使用JSON.parse(data); –