CNode

nodejs如何向别的网站发送post请求,并且带有参数

问答
MMyNodeJs__legacy_5588c0ab01d3ce0d73d69098发布于10 年前最后回复9 年前20 回复13810 浏览0 收藏

nodejs如何向别的网站发送post请求,并且带有参数

查看回复

回复 (20)

S
stonephp#1·10 年前

axios 用了就知道了

@vincentLiuxiang 谢谢

M
magicdawn#3·9 年前

request-promise 设代理方便

J
jeeinn#5·9 年前

superagent

L
libook#6·9 年前

有一个库叫做request,自己搜,看文档。

B
blackmatch#9·9 年前

request没用过,之前写爬虫用superagent,不知道能不能满足你的需求。。。

undefined

@44886 谢谢

request

request

A
ajaxQWER#14·10 年前

request

Z
zhaixg#15·10 年前

request的基本功能就能实现

K
kiinlam#16·10 年前

var http = require('http'); http.request(opt, function () {});

N
nnliang#17·10 年前
const rp = require('request-promise')
const options = {
	url, headers,......
}
rp.post(options).then(t => {
	......
})
D
DevinXian#18·10 年前

request http(s) request-promise urllib

4
44886#19·10 年前

相比request 我更喜欢 superagent

V
vincentLiuxiang#20·9 年前

这个看node文档就能搞定啊。。。 贴一段用http原生模块写的,不喜欢promise的化,把promise扔掉好了

var http = require('http');
var Promise = require("bluebird");

module.exports = function(options, body) {
  return new Promise(function(resolve, reject) {
  	var httpBody = options.body || body;
    var req = http.request(options, (res) => {
      var chunks = [];
      res.on('data', (chunk) => {
        chunks.push(chunk);
      });
      res.on('end', () => {
        resolve({
          statusCode: res.statusCode,
          headers: res.headers,
          body: Buffer.concat(chunks)
        });
      })
    });

    if (httpBody) {
      req.write(httpBody);
    }
    req.end();

    req.on('error', (e) => {
      reject(e);
    })

    if (options.timeout) {
      req.setTimeout(options.timeout, () => {
        req.abort();
      })
    }
  })
}
参与回复
登录后即可参与回复。登录