Node学习之HTTP

URL字符串与查询字符串

  • 查询字符串:从“?”到“#”,或者到URL结束(如果不存在#)的URL子串称为查询字符串。-
  • 使用querystring模块
var querystring = require('querystring');

var querystr = querystring.stringify({
    name:"sysuygm",
    padd:"sysuygm"
});

var querystr1 = querystring.parse("name=sysuygm&padd=sysuygm")
  • URL对象
  • 使用url模块
var url = require('url');
console.log(url.parse(req.url));

解析的结果

> url.parse('http://sysuygm:[email protected]:8080/api/users/1/id?
   username=sysuygm&uid=123455#name1');
Url {
  protocol: 'http:',
  slashes: true,
  auth: 'sysuygm:sysupass',  //URL认证信息部分
  host: 'user.com:8080',
  port: '8080',
  hostname: 'user.com',
  hash: '#name1',
  search: '?username=sysuygm&uid=123455',
  query: 'username=sysuygm&uid=123455',
  pathname: '/api/users/1/id',
  path: '/api/users/1/id?username=sysuygm&uid=123455',
  href: 'http://sysuygm:[email protected]:8080/api/users/1/id?username=sysuygm&uid=123455#name1'
  }
> url.parse('http://sysuygm:[email protected]:8080/api/users/1/id?
   username=sysuygm&uid=123455#name1',true); //格式化query部分,换成对象格式
Url {
  protocol: 'http:',
  slashes: true,
  auth: 'sysuygm:sysupass',
  host: 'user.com:8080',
  port: '8080',
  hostname: 'user.com',
  hash: '#name1',
  search: '?username=sysuygm&uid=123455',
  query: { username: 'sysuygm', uid: '123455' },
  pathname: '/api/users/1/id',
  path: '/api/users/1/id?username=sysuygm&uid=123455',
  href: 'http://sysuygm:[email protected]:8080/api/users/1/id?username=sysuygm&uid=123455#name1' 
  }

格式化

> obj = url.parse('http://sysuygm:[email protected]:8080/api/users/1/id?
   username=sysuygm&uid=123455#name1',true);
Url {
  protocol: 'http:',
  slashes: true,
  auth: 'sysuygm:sysupass',
  host: 'user.com:8080',
  port: '8080',
  hostname: 'user.com',
  hash: '#name1',
  search: '?username=sysuygm&uid=123455',
  query: { username: 'sysuygm', uid: '123455' },
  pathname: '/api/users/1/id',
  path: '/api/users/1/id?username=sysuygm&uid=123455',
  href: 'http://sysuygm:[email protected]:8080/api/users/1/id?username=sysuygm&uid=123455#name1' }
> url.format(obj)
'http://sysuygm:[email protected]:8080/api/users/1/id?username=sysuygm&uid=123455#name1'
>
  • url.resolve(form, to) 路径结合

猜你喜欢

转载自blog.csdn.net/w_bu_neng_ku/article/details/80099830
今日推荐