如何使用springboot服務端接口公網遠程調試——實現HTTP服務監聽

在這里插入圖片描述
🌈個人主頁:聆風吟
🔥系列專欄:網絡奇遇記、Cpolar雜談
🔖少年有夢不應止于心動,更要付諸行動。


文章目錄

  • 📋前言
  • 一. 本地環境搭建
    • 1.1 環境參數
    • 1.2 搭建springboot服務項目
  • 二. 內網穿透
    • 2.1 安裝配置cpolar內網穿透
      • 2.1.1 windows系統
      • 2.1.2 linux系統
    • 2.2 創建隧道映射本地端口
    • 2.3 測試公網地址
  • 三. 固定公網地址
    • 3.1 保留一個二級子域名
    • 3.2 配置二級子域名
    • 3.2 測試使用固定公網地址
  • 四. Cpolar監聽器
    • 4.1 開啟偵聽功能
    • 4.2 請求偵聽
  • 📝結語

📋前言

前后端分離項目中,在調用接口調試時候,我們可以通過cpolar內網穿透將本地服務端接口模擬公共網絡環境遠程調用調試,本次教程我們以Java服務端接口為例。

一. 本地環境搭建

1.1 環境參數

  • JDK1.8
  • IDEA
  • SpringBoot
  • Maven
  • Tomcat9.0
  • Postman

1.2 搭建springboot服務項目

搭建一個springboot服務的項目,編寫一個接口,為了更好直觀看到,這里創建一個pos請求的接口

@RestController
@RequestMapping("/test")
public class InterfaceTest {/*** 測試接口* @param data* @return Map<String,String>*/@PostMapping("/interTest")public Map<String,String>interTest(@RequestBody Map<String,String> data){System.out.println(data);if (data.size()>0){return  data;}data.put("code","404");return data;}
}


二. 內網穿透

這里我們使用cpolar來進行內網穿透,支持http/https/tcp協議,不限制流量,無需公網IP,也不用設置路由器,使用簡單。

2.1 安裝配置cpolar內網穿透

cpolar官網:https://www.cpolar.com/

2.1.1 windows系統

進入cpolar官網后,下載windows版本版本,雙擊安裝包一路默認安裝即可。

2.1.2 linux系統

  • cpolar 安裝(國內使用)
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 或 cpolar短鏈接安裝方式:(國外使用)
curl -sL https://git.io/cpolar | sudo bash
  • 查看版本號,有正常顯示版本號即為安裝成功
cpolar version
  • token認證

登錄cpolar官網后臺,點擊左側的驗證,查看自己的認證token,之后將token貼在命令行里

cpolar authtoken xxxxxxx

20230417112726

  • 簡單穿透測試
cpolar http 8080

按ctrl+c退出

  • 向系統添加服務
sudo systemctl enable cpolar
  • 啟動cpolar服務
sudo systemctl start cpolar
  • 查看服務狀態

20230417112718

2.2 創建隧道映射本地端口

cpolar安裝成功后,在瀏覽器上訪問本地9200端口【http://localhost:9200】,使用cpolar賬號登錄。

20230130105810

點擊左側儀表盤的隧道管理——創建隧道,創建一個tomcat的8080端口 http隧道

  • 隧道名稱:可自定義命名,注意不要與已有的隧道名稱重復
  • 協議:選擇http
  • 本地地址:8080
  • 域名類型:免費選擇隨機域名
  • 地區:選擇China vip

點擊創建

20230130105901

隧道創建成功后,點擊左側的狀態——在線隧道列表,查看所生成的公網地址,然后復制地址

20230130105902

2.3 測試公網地址

這里以Postman接口調試工具向接口發送請求,在postman創建一個post請求方式.輸入復制的公網地址加上接口路徑,參數使用JSON格式,設置好參數點擊

20230130105903

在服務接口端debug調試接口,查看請求是否進入接口,進入接口表示調用成功

20230130105904



三. 固定公網地址

由于以上使用cpolar所創建的隧道使用的是隨機公網地址,24小時內會隨機變化,不利于長期遠程訪問。因此我們可以為其配置二級子域名,該地址為固定地址,不會隨機變化

注意需要將cpolar套餐升級至基礎套餐或以上,且每個套餐對應的帶寬不一樣。【cpolar.cn已備案】

3.1 保留一個二級子域名

登錄cpolar官網,點擊左側的預留,選擇保留二級子域名,設置一個二級子域名名稱,點擊保留,保留成功后復制保留的二級子域名名稱

20230130105905

3.2 配置二級子域名

訪問http://127.0.0.1:9200/,登錄cpolar web UI管理界面,點擊左側儀表盤的隧道管理——隧道列表,找到所要配置的8080隧道,點擊右側的編輯

20230130105906

修改隧道信息,將保留成功的二級子域名配置到隧道中

  • 域名類型:選擇二級子域名
  • Sub Domain:填寫保留成功的二級子域名,本例為test01

點擊更新

20230130105907

更新完成后,打開在線隧道列表,此時可以看到公網地址已經發生變化,地址名稱也變成了保留過的二級子域名名稱,將其復制下來

20230130105908

3.2 測試使用固定公網地址

打開postman,使用固定http地址進行調用

20230130105909

同樣在服務端debug調試查看請求是否進入接口,進入接口表示成功

20230130105910



四. Cpolar監聽器

我們還可以使用cpolar監聽器(http://localhost:4040)查看接口請求日志,處理一個討厭的bug。甚至可以重播請求消息包,加速測試的請求,單擊重放(Replay)按鈕,重新發送該HTTP信令請求,而不是手動重新觸發操作。下面介紹使用cpolar監聽器監聽請求。

4.1 開啟偵聽功能

選擇我們剛剛創建配置的http隧道,并點擊右側的編輯

20230130105911

打開高級設置,開啟偵聽功能

20230130105912

4.2 請求偵聽

在瀏覽器訪問本地4040端口,http://localhost:4040

20230130105913

向服務端發送請求后,此處就會顯示相關的請求日志,可以看到請求的方式,請求的數據,接口路徑,和返回狀態及結果,極大提高了調試效率。

20230130105914

轉載自cpolar內網穿透的文章:Springboot服務端接口公網遠程調試,并實現HTTP服務監聽



📝結語

???? 今天的干貨分享到這里就結束啦!如果覺得文章還可以的話,希望能給個三連支持一下,聆風吟的主頁還有很多有趣的文章,歡迎小伙伴們前去點評,您的支持就是作者前進的最大動力!
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/166449.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/166449.shtml
英文地址,請注明出處:http://en.pswp.cn/news/166449.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ATA-2042高壓放大器在細胞的剪切應力傳感器研究中的應用

微流控技術是一種通過微小的通道和微型裝置對流體進行精確操控和分析的技術。它是現代醫學技術發展過程中的一種重要的生物醫學工程技術&#xff0c;具有廣泛的應用前景和重要性。它在高通量分析、個性化醫療、細胞篩選等方面有著巨大的潛力&#xff0c;Aigtek安泰電子今天就將…

.Net面試題4

1.請解釋一下泛型&#xff08;Generics&#xff09;在C#中的作用。 泛型是一種將數據類型參數化的機制&#xff0c;使得代碼可以在編譯時具有更強的類型安全性和靈活性。C#中的泛型可以用于類、接口、方法等的定義和實例化。泛型允許在編寫代碼時使用具有不同實參的類型&#x…

HR8833 雙通道H橋電機驅動芯片

HR8833為玩具、打印機和其它電機一T化應用提供一種雙通道電機驅動方案。HR8833提供兩種封裝&#xff0c;一種是帶有L露焊盤的TSSOP-16封裝&#xff0c;能改進散熱性能&#xff0c;且是無鉛產品&#xff0c;引腳框采用100&#xff05;無錫電鍍。另一種封裝為SOP16&#xff0c;不…

智駕芯片全矩陣「曝光」,這家企業的車載品牌正式官宣

隨著汽車智能化加速&#xff0c;智能駕駛芯片格局逐漸清晰。 針對L0-L2&#xff0c;業內基本采用智能前視一體機方案&#xff1b;要實現高速NOA、城市NOA等更為高階的智駕功能等&#xff0c;則基本采用域控制器方案。從前視一體機至域控&#xff0c;再逐步演進到艙駕一體、中央…

python基于DETR(DEtection TRansformer)開發構建鋼鐵產業產品智能自動化檢測識別系統

在前文中我們基于經典的YOLOv5開發構建了鋼鐵產業產品智能自動化檢測識別系統&#xff0c;這里本文的主要目的是想要實踐應用DETR這一端到端的檢測模型來開發構建鋼鐵產業產品智能自動化檢測識別系統。 DETR (DEtection TRansformer) 是一種基于Transformer架構的端到端目標檢…

springboot項目修改項目名稱

參考該文章正確修改項目名稱&#xff1a;SpringBoot項目怎么重命名_springboot修改項目名稱-CSDN博客

【Lodash】 Filter 與Map 的結合使用

用Filter過濾數據之后&#xff0c;想給某個字段重新賦值 在使用 filter() 方法過濾數據后&#xff0c;如果你想給某個字段賦值&#xff0c;你可以使用 map() 方法來修改數組中的元素。map() 方法可以對數組中的每個元素應用一個函數&#xff0c;并返回一個新的數組。 以下是一…

【Django使用】10大章31模塊md文檔,第5篇:Django模板和數據庫使用

當你考慮開發現代化、高效且可擴展的網站和Web應用時&#xff0c;Django是一個強大的選擇。Django是一個流行的開源Python Web框架&#xff0c;它提供了一個堅實的基礎&#xff0c;幫助開發者快速構建功能豐富且高度定制的Web應用 全套Django筆記直接地址&#xff1a; 請移步這…

外匯天眼:多名投資者賬戶被惡意清空,遠離volofinance!

最近&#xff0c;外匯平臺volofinance因有多名投資者投訴&#xff0c;“榮幸”成為外匯天眼黑平臺榜單中的一員&#xff0c;那么volofinance到底做了什么導致投資者前來投訴曝光呢&#xff1f; 起底volofinace 在網絡搜索中&#xff0c;關于volofinance的信息少之又少&#xf…

成為AI產品經理——模型評估指標

目錄 一、模型評估分類 1.在線評估 2.離線評估 二、離線模型評估 1.特征評估 ① 特征自身穩定性 ② 特征來源穩定性 ③ 特征成本 2.模型評估 ① 統計性評估 覆蓋度 最大值、最小值 分布形態 ② 模型性能指標 分類問題 回歸問題 ③ 模型的穩定性 模型評估指標分…

配置mvn打包參數,不同環境使用不同的配置文件

方法一&#xff1a; 首先在/resource目錄下創建各自環境的配置 要在不同的環境中使用不同的配置文件進行Maven打包&#xff0c;可以使用Maven的profiles特性和資源過濾功能。下面是配置Maven打包參數的步驟&#xff1a; 在項目的pom.xml文件中&#xff0c;添加profiles配置…

python 負數 處理

num_negative -4 print(num_negative) num_dec_to_hex hex(num_negative) print(負數轉十六進制&#xff1a; num_dec_to_hex) /---------------------------------------------------------/ -4 負數轉十六進制&#xff1a;-0x4通過上面代碼片段可以看到&#xff0c;python…

第一個Mybatis項目

&#xff08;一&#xff09;為什么要用Mybatis? &#xff08;1&#xff09;Mybatis對比JDBC而言&#xff0c;sql&#xff08;單獨寫在xml的配置文件中&#xff09;和java編碼分開&#xff0c;功能邊界清晰&#xff0c;一個專注業務&#xff0c;一個專注數據。 &#xff08;2&…

【C++】:多態

朋友們、伙計們&#xff0c;我們又見面了&#xff0c;本期來給大家解讀一下有關多態的知識點&#xff0c;如果看完之后對你有一定的啟發&#xff0c;那么請留下你的三連&#xff0c;祝大家心想事成&#xff01; C 語 言 專 欄&#xff1a;C語言&#xff1a;從入門到精通 數據結…

Linux(CentOS7)上安裝mysql

在CentOS中默認安裝有MariaDB&#xff08;MySQL的一個分支&#xff09;&#xff0c;可先移除/卸載MariaDB。 yum remove mariadb // 查看是否存在mariadb rpm -qa|grep -i mariadb // 卸載 mariadb rpm -e --nodeps rpm -qa|grep mariadb yum安裝 下載rpm // 5.6版本 wge…

XML映射文件

<?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace"org.mybatis.example.BlogMapper&q…

conan 入門(三十二):package_info中配置禁用CMakeDeps生成使用項目自己生成的config.cmake

conanfile.py中定義的package_info()方法用于向package的調用者(conumer)提供包庫名&#xff0c;編譯/連接選項&#xff0c;文件夾等等信息&#xff0c;有了這些信息構建工具的generator就可以根據它們生成對應的文件&#xff0c;用于調用者引用package. 比如基于cmake的CMakeD…

線索二叉樹:C++實現

引言&#xff1a; 線索二叉樹是一種特殊的二叉樹&#xff0c;它可以通過線索&#xff08;線索是指在二叉樹中將空指針改為指向前驅或后繼的指針&#xff09;的方式將二叉樹轉化為一個線性結構&#xff0c;從而方便對二叉樹進行遍歷。本文將介紹如何使用C實現線索二叉樹。 技術…

安全地公網訪問樹莓派等設備的服務 內網穿透--frp 23年11月方法

如果想要樹莓派可以被公網訪問&#xff0c;可以選擇直接網上搜內網穿透提供商&#xff0c;一個月大概10塊錢&#xff0c;也有免費的&#xff0c;但是免費的速度就不要希望很好了。 也可以選擇接下來介紹的frp&#xff0c;這種方式不需要付費&#xff0c;但是需要你有一臺有著公…

vue3自定義拖拽指令

<template><div v-move class"box"></div> </template><script setup lang"ts"> import { Directive } from vue const vMove:Directive (el:HTMLElement) >{const mousedown (e:MouseEvent) >{// 鼠標按下const s…