node.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > node.js > Node.js通过http调用外部接口

Node.js如何通过http调用外部接口

作者:CodingSlag

这篇文章主要介绍了Node.js如何通过http调用外部接口问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

node.js通过http调用外部接口

通过http.request发送带参数的post请求

var http = require("http");
 
var data = {username:"hello",password:"123456"};
data = JSON.stringify(data);
//data = require('querystring').stringify(data);
 
var opt = {
    host:'localhost',
    port:'8080',
    method:'POST',
    path:'/loginForeign.jspx',
    headers:{
        "Content-Type": 'application/json',
        "Content-Length": data.length
    }
}
 
var body = '';
var req = http.request(opt, function(res) {
    console.log("response: " + res.statusCode);
    res.on('data',function(data){
        body += data;
    }).on('end', function(){
        console.log(body)
    });
}).on('error', function(e) {
    console.log("error: " + e.message);
})
req.write(data);
req.end();

node.js调用外部接口 使用request模块I(不推荐)

安装

npm install request

使用

const request = require('request');
//get请求 第一种
request('https://**********/gais/**/g**/**?name=2', function (err, response, body) {
        //err 当前接口请求错误信息
        //response 一般使用statusCode来获取接口的http的执行状态
        //body 当前接口response返回的具体数据 返回的是一个jsonString类型的数据 
        //需要通过JSON.parse(body)来转换
        console.log(err, response, body);
        if (!err && response.statusCode == 200) {
            //todoJSON.parse(body)
            var res = JSON.parse(body);
        }
    });
 
 
//get请求 第二种
 request.get('https://**********/gais/**/g**/**?name=2',(err, response, body)=>{
        console.log(err, response, body);
 });
 
//get请求 第三种
request({
        url: 'https://**********/gais/**/g**/**?name=2',
        method: "GET",
        json: true,
        headers: {
            "content-type": "application/json",
        },
    }, function(error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(body) // 请求成功的处理逻辑
        }
    });
 
//post请求
request({
        url: 'https://**********/gais/**/g**/**',
        method: "POST",
        json: true,
        headers: {
            "content-type": "application/json",
        },
        body:{
            "frontendUuid": "121212",
            "available": 0
        }
    }, (err, response, body) => {
        console.log(err, response, body);
    });

官方文档请查看:https://github.com/request/request

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文