node.js 的一个 HTTP API POST 请求不通过

请求的 HTTP API 地址:https://www.jisuapi.com/api/w...
请求的方式:POST 请求
代码如下:

#!/usr/bin/env node

var http = require('http'),
    url = require('url'),
    qs = require('querystring'),
    city = process.argv[2] || '石家庄',
    options = url.parse('http://api.jisuapi.com/weather/query?appkey=d4afb00114742b00');

options.method = 'POST';
options.headers = { 'User-Agent': '04-post-weather.js' };
console.log(options);
var req = http.request(options, function(res) {
  var result = '';

  res.on('data', function(data) {
    result += data.toString('utf8');
  });
  
  res.on('end', function() {
    var weather = JSON.parse(result);
    console.log(weather);
  });
});

console.log(qs.escape('city='+city));
req.write(qs.escape('city='+city));
req.end();

请求不到数据,帮忙看看是哪里的问题。

阅读 2.2k
1 个回答
var http = require('http'),
    //url = require('url'),
    qs = require('querystring'),
    city = process.argv[2] || '石家庄';
    
var options = {
  "method": "POST",
  "hostname": "api.jisuapi.com",
  "port": null,
  "path": "/weather/query?appkey=d4afb00114742b00",
  "headers": {
    "content-type": "application/x-www-form-urlencoded"
  }
};
console.log( options);

var req = http.request(options, function(res) {
  var result = '';

  res.on('data', function(data) {
    result += data.toString('utf8');
  });
  
  res.on('end', function() {
    var weather = JSON.parse(result);
    console.log(weather);
  });
});

req.write(qs.stringify({ city: city }));
req.end();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题