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

 更新时间:2023年10月31日 17:22:16   作者:CodingSlag  
这篇文章主要介绍了Node.js如何通过http调用外部接口问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

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

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

  • data:发送的内容
  • opt:描述将要发出的请求
  • data:事件在数据到达时被触发
  • end:请求结束时触发
  • error:发生错误时被触发
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

总结

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

相关文章

  • Node多进程的实现方法

    Node多进程的实现方法

    我们都知道 Node.js 是以单线程的模式运行的,但它使用的是事件驱动来处理并发,这样有助于我们在多核 cpu 的系统上创建多个子进程,从而提高性能
    2022-08-08
  • node path的使用详解

    node path的使用详解

    这篇文章主要介绍了node path的使用详解,使用path.join()方法,可以把多个路径片段拼接为完整的路径字符串,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • Nodejs读取文件时相对路径的正确写法(使用fs模块)

    Nodejs读取文件时相对路径的正确写法(使用fs模块)

    本篇文章主要介绍了linux 环境 mysql写入中文报错的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • NodeJS感知和控制自身进程的运行环境和状态

    NodeJS感知和控制自身进程的运行环境和状态

    NodeJS可以感知和控制自身进程的运行环境和状态,也可以创建子进程并与其协同工作,这使得NodeJS可以把多个程序组合在一起共同完成某项工作,并在其中充当胶水和调度器的作用,和进程管理相关的API单独介绍起来比较枯燥,这里从一些典型的应用场景出发
    2024-01-01
  • 基于npm install或run时一些报错的解决方案

    基于npm install或run时一些报错的解决方案

    这篇文章主要介绍了基于npm install或run时一些报错的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 原生node.js案例--前后台交互

    原生node.js案例--前后台交互

    本文主要介绍了原生node.js案例--前后台交互。本案例包含4部分:(1)HTML部分;(2)ajax部分;(3)JavaScript部分;(4)node服务器部分。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • Nodejs libuv运行原理详解

    Nodejs libuv运行原理详解

    在本篇文章里小编给大家整理的是关于Nodejs libuv运行原理以及相关知识点,有需要的朋友们可以学习下。
    2019-08-08
  • node.js中的fs.fchmod方法使用说明

    node.js中的fs.fchmod方法使用说明

    这篇文章主要介绍了node.js中的fs.fchmod方法使用说明,本文介绍了fs.fchmod的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • Linux通过yum命令彻底删除node.js并重新安装

    Linux通过yum命令彻底删除node.js并重新安装

    这篇文章主要介绍了Linux通过yum命令彻底删除node.js并重新安装,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-11-11
  • nodejs发布静态https服务器的方法

    nodejs发布静态https服务器的方法

    这篇文章主要介绍了nodejs发布静态https服务器的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09

最新评论