我正在使用以下代码

var http = require('http'),
    url = require('url');

function handle_incoming_request (req, res) {
    console.log('Incoming request: (' + req.method + ') ' + req.url);

    req.parsed_url = url.parse(req.url, true);
    console.log(req.parsed_url);
}

var server = http.createServer(handle_incoming_request);
server.listen(8080);

现在当我在下面
curl -i -X GET http://localhost:8080/albums/italy2012.json?page=0&page_size=20

然后我在节点控制台下面
Incoming request: (GET) /albums/italy2012.json?page=0
{ protocol: null,
  slashes: null,
  auth: null,
  host: null,
  port: null,
  hostname: null,
  hash: null,
  search: '?page=0',
  query: { page: '0' },
  pathname: '/albums/italy2012.json',
  path: '/albums/italy2012.json?page=0',
  href: '/albums/italy2012.json?page=0' }

正如你在第一行看到的,网址是一半。它忽略了curl
我为什么和怎么能解决这个问题?

最佳答案

问题在于如何通过curl发布,您需要引用url,否则与号将把curl设置为一个后台进程

curl -i -X GET "http://localhost:8080/albums/italy2012.json?page=0&page_size=20"

10-05 20:46
查看更多