欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

node項(xiàng)目使用http模塊發(fā)送get-post請(qǐng)求方式

 更新時(shí)間:2024年09月06日 13:39:39   作者:-風(fēng)過(guò)無(wú)痕  
這篇文章主要介紹了node項(xiàng)目使用http模塊發(fā)送get-post請(qǐng)求方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前言

  • http模塊是node.js提供內(nèi)置模塊,可以用來(lái)發(fā)送請(qǐng)求
  • 使用場(chǎng)景是本身這個(gè)node服務(wù)就是后端,調(diào)用第三方api或者其他服務(wù)使用http模塊
  • http模塊和axios本質(zhì)上是一個(gè)東西,看自己怎么選擇使用

代碼實(shí)現(xiàn)-不能直接復(fù)制-看注釋

1.請(qǐng)求文件代碼

// 導(dǎo)入http模塊
const http = require("http");
 
// 注意基地址
// let base_url = "https://ceshi.com"
 
// 基地址-去掉https://前綴 - 不去會(huì)報(bào)錯(cuò)
let base_url = "ceshi.com"
 
 
// get-請(qǐng)求 - 獲取
// 使用promise - 方便維護(hù)和管理
const requestget = () => {
  return new Promise((resolve, reject) => {
 
    // 配置項(xiàng)
    const options = {
      // 基地址
      hostname: base_url,
      // 默認(rèn)端口-不要改
      port: 80,
      // 接口路徑
      path: `/api/ceshi/list?參數(shù)=${"12"}&參數(shù)=${"12"}`,
      // 請(qǐng)求方式
      method: "get",
      // 請(qǐng)求頭信息
      headers: {
        // 請(qǐng)求參數(shù)格式
        "Content-Type": "application/json; charset=utf-8",
        // token
        Authorization: "",
      },
    };
 
    // 發(fā)送請(qǐng)求
    const getlist = http.request(options, (res) => {
      res.on("data", (data) => {
        // 把返回值轉(zhuǎn)換成utf-8格式
        const list = Buffer.from(data).toString("utf8");
        // 輸出在控制臺(tái)-json格式
        process.stdout.write(list);
        // 轉(zhuǎn)換數(shù)據(jù)
        const getlist = JSON.parse(list);
        // 返回成功結(jié)果
        resolve(getlist);
      });
    });
 
    // 錯(cuò)誤處理
    getlist.on("error", (err) => {
      // 返回失敗結(jié)果
      reject(err.message);
    });
 
    // 請(qǐng)求參數(shù)-寫入
    getlist.write(postData);
 
    // 結(jié)束請(qǐng)求-不寫請(qǐng)求發(fā)送不出去
    getlist.end();
 
  })
}
 
 
 
 
// post-請(qǐng)求 - 分頁(yè)查詢
// 使用promise - 方便維護(hù)和管理
const requestpost = () => {
  return new Promise((resolve, reject) => {
 
    // 請(qǐng)求參數(shù)
    let postData = querystring.stringify({
      // 頁(yè)碼
      // 頁(yè)數(shù)
      // 總數(shù)
      // 參數(shù)
    });
 
    // 配置項(xiàng)
    const options = {
      // 基地址
      hostname: base_url,
      // 默認(rèn)端口-不要改
      port: 80,
      // 接口路徑
      path: "/api/ceshi/list",
      // 請(qǐng)求方式
      method: "post",
      // 請(qǐng)求頭信息
      headers: {
        // 請(qǐng)求參數(shù)格式
        "Content-Type": "application/json; charset=utf-8",
        // token
        Authorization: "",
      },
    };
 
    // 發(fā)送請(qǐng)求
    const getpost = http.request(options, (res) => {
      res.on("data", (data) => {
        // 把返回值轉(zhuǎn)換成utf-8格式
        const list = Buffer.from(data).toString("utf8");
        // 輸出在控制臺(tái)-json格式
        process.stdout.write(list);
        // 轉(zhuǎn)換數(shù)據(jù)
        const getlist = JSON.parse(list);
        // 返回成功結(jié)果
        resolve(getlist);
      });
    });
 
    // 錯(cuò)誤處理
    getpost.on("error", (err) => {
      // 返回失敗結(jié)果
      reject(err.message);
    });
 
    // 請(qǐng)求參數(shù)-寫入
    getpost.write(postData);
 
    // 結(jié)束請(qǐng)求-不寫請(qǐng)求發(fā)送不出去
    getpost.end();
 
  });
};

2.調(diào)用

const { requestget,requestpost } = require("文件位置");
 
async function getpostrequest (){
    // get
    const res = await requestget ()
    console.log("get請(qǐng)求結(jié)果", res);
 
    // post
   const ress = await requestpost ()
   console.log("post請(qǐng)求結(jié)果", ress);
}

細(xì)節(jié)

  • 1.注意基地址配置不要帶前綴-https:// 會(huì)報(bào)錯(cuò)
  • 2.port 一般不用動(dòng)
  • 3.end()方法一定要寫,不然請(qǐng)求可能會(huì)發(fā)不出去
  • 4.不要直接復(fù)制這么多-按照注釋請(qǐng)求成功在改

總結(jié)

經(jīng)過(guò)這一趟流程下來(lái)相信你也對(duì) node項(xiàng)目-使用http模塊發(fā)送get-post請(qǐng)求 有了初步的深刻印象,但在實(shí)際開(kāi)發(fā)中我 們遇到的情況肯定是不一樣的,所以我們要理解它的原理,萬(wàn)變不離其宗。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Nodejs中的require函數(shù)的具體使用方法

    Nodejs中的require函數(shù)的具體使用方法

    這篇文章主要介紹了Nodejs中的require函數(shù)的具體使用方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-04-04
  • node.js-v6新版安裝具體步驟(分享)

    node.js-v6新版安裝具體步驟(分享)

    下面小編就為大家?guī)?lái)一篇node.js-v6新版安裝具體步驟(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • 使用Express+Node.js對(duì)mysql進(jìn)行增改查操作?

    使用Express+Node.js對(duì)mysql進(jìn)行增改查操作?

    這篇文章主要介紹了使用Express+Node.js對(duì)mysql進(jìn)行增改查操作,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • node.js實(shí)現(xiàn)pdf與圖片互轉(zhuǎn)代碼示例

    node.js實(shí)現(xiàn)pdf與圖片互轉(zhuǎn)代碼示例

    因工作需求,記錄一次如何在Node中pdf與圖片互轉(zhuǎn)各種操作,這篇文章主要給大家介紹了關(guān)于node.js實(shí)現(xiàn)pdf與圖片互轉(zhuǎn)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • node.js實(shí)現(xiàn)復(fù)制文本到剪切板的功能

    node.js實(shí)現(xiàn)復(fù)制文本到剪切板的功能

    這篇文章主要給大家介紹了node.js實(shí)現(xiàn)復(fù)制文本到剪切板的功能,文中介紹的非常詳細(xì),并給出示例代碼,相信對(duì)大家具有一定的參考借鑒價(jià)值,有需要的朋友們下面來(lái)一起看看吧。
    2017-01-01
  • Node.js讀寫文件之批量替換圖片的實(shí)現(xiàn)方法

    Node.js讀寫文件之批量替換圖片的實(shí)現(xiàn)方法

    下面小編就為大家?guī)?lái)一篇Node.js讀寫文件之批量替換圖片的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-09-09
  • npm全局模塊卸載及默認(rèn)安裝目錄修改方法

    npm全局模塊卸載及默認(rèn)安裝目錄修改方法

    今天小編就為大家分享一篇npm全局模塊卸載及默認(rèn)安裝目錄修改方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 詳解Node.js中exports和module.exports的區(qū)別

    詳解Node.js中exports和module.exports的區(qū)別

    這篇文章主要介紹了詳解Node.js中exports和module.exports的區(qū)別,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • Node.js之IP地址和端口號(hào)問(wèn)題

    Node.js之IP地址和端口號(hào)問(wèn)題

    這篇文章主要介紹了Node.js之IP地址和端口號(hào)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • nodejs的HTML分析利器node-jquery用法淺析

    nodejs的HTML分析利器node-jquery用法淺析

    這篇文章主要介紹了nodejs的HTML分析利器node-jquery用法,簡(jiǎn)單分析了node-jquery的功能并結(jié)合實(shí)例說(shuō)明了node-jquery控制臺(tái)輸出信息的操作技巧,需要的朋友可以參考下
    2016-11-11

最新評(píng)論