使用Golang開發一個HTTP客戶端請求命令行工具

什么是Golang

Golang,也被稱為Go語言,是由Google開發的一種開源的編程語言。它于2007年開始設計,于2009年首次公開發布。Golang被設計成一種通用的編程語言,旨在提供簡單、高效和可靠的軟件開發方式。Golang具有靜態類型、垃圾回收、并發編程和內存安全等特性。

Golang以其簡潔、直觀和高效的語法而受到廣泛喜愛。它在編程效率和執行效率之間取得了很好的平衡,同時還提供了一些用于并發編程的原生支持,使得開發者可以更輕松地編寫高性能的并發程序。

Golang被廣泛應用于構建Web服務、分布式系統、網絡工具和云計算平臺等領域。它擁有龐大的開發社區和豐富的開源生態系統,提供了許多優秀的庫和框架,使得開發者可以更快速、更高效地開發應用程序。

什么是HTTP客戶端

HTTP客戶端是指發送HTTP請求到HTTP服務器并接收HTTP響應的軟件或程序。它可以通過例如瀏覽器、命令行工具或者開發框架的客戶端庫來實現。HTTP客戶端可以向服務器發送各種類型的HTTP請求,如GET、POST、PUT、DELETE等,并接收服務器返回的HTTP響應。通過HTTP客戶端,用戶可以與Web服務器進行交互,訪問和操作網絡資源。常見的HTTP客戶端包括瀏覽器,curl命令行工具和Python的requests庫等。

什么是命令行工具

命令行工具是一種在命令行界面下運行的軟件程序,它可以通過輸入文本命令來執行特定任務或操作。這些工具通常是以命令行界面(CLI)的形式提供,用戶可以通過鍵盤輸入命令,并且工具會基于這些命令執行相應的操作。命令行工具可以用于各種操作系統,如Windows、Mac和Linux,并且可以執行各種任務,如文件操作、系統管理、軟件開發、網絡管理等。與圖形用戶界面(GUI)相比,命令行工具通常更加靈活和高效,因為它們不需要消耗額外的計算機資源來繪制圖形界面。

zdpgo_httpie

使用Golang開發的一個HTTP客戶端命令行工具。

主要目標是簡化REST接口的測試,使得能夠通過命令行的方式直接對開發的HTTP REST接口進行簡單的測試,
快速驗證HTTP REST接口的正確性。

構建可執行程序

檢查依賴:

go mod tidy

Windows構建可執行程序:

go build -o zhttp.exe cmd/zhttp/main.go

Linux構建可執行程序:

go build -o zhttp cmd/zhttp/main.go

使用說明

發送GET請求

基本用法:

./zhttp.exe GET httpbin.org/get

下載文件:

zhttp --download <any url you want>

發送POST請求

基本用法:

./zhttp.exe POST httpbin.org/post hello=world foo=barzhttp POST httpbin.org/post hello=world foo=bar

查看請求信息:

zhttp -v POST httpbin.org/post hello=world foo=bar

攜帶請求頭:

zhttp -v POST httpbin.org/post X-Foo:foobar

發送HTTPS請求:

zhttp --verify=no https://httpbin.org/get

版本說明

v0.1.0

  • 整合zdpgo_errors

v0.1.1

  • 整合zdpgo_isatty

v0.1.2

  • 所有網絡依賴本地化

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

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

相關文章

微服務實踐k8sdapr開發部署調用

前置條件 安裝docker與dapr: 手把手教你學Dapr - 3. 使用Dapr運行第一個.Net程序安裝k8s dapr 自托管模式運行 新建一個webapi無權限項目 launchSettings.json中applicationUrl端口改成5001,如下: "applicationUrl": "http://localhost:5001" //Wea…

c#實現視頻播放

在winform上實現視頻播放常用的控件時media player&#xff0c;vs工具欄初始狀態下沒有&#xff0c;需要我們到com組件中添加。添加完成后&#xff0c;把media player控件拖拽到一個Form窗口中。 在此實現遍歷某個文件夾下是否有mp4視頻&#xff0c;如果有則播放視頻。&#x…

BeautifulSoup4通過lxml使用Xpath,以及獲取(定位)元素和其文本或者屬性

環境&#xff1a;win10&#xff0c;python3.8.10 首先需要安裝&#xff1a;beautifulsoup4&#xff0c;lxml 使用命令&#xff1a; pip38 install beautifulsoup4 pip38 install lxml 安裝完畢后查看一下&#xff1a; 寫代碼&#xff1a; from bs4 import BeautifulSoup …

Go 圖像處理

Golang中的image包提供了基本的圖像類型、顏色模型、以及用于處理圖像的各種函數和接口。 常用類型與接口 image.Image 接口 這是Go語言中處理圖像的核心接口&#xff0c;定義了所有圖像必須實現的方法&#xff1a; type Image interface {// Bounds returns the domain for…

rocketmq 學習二 基本概念

教程&#xff1a;基本概念 | RocketMQ 視頻教程 https://www.bilibili.com/video/BV1d5411y7UW?vd_sourcef1bd3b5218c30adf0a002c8c937e0a27 版本&#xff1a;5.0 一 基本概念 1.1 生產者/Producer 1.1.1 定義 消息發布者。是構建并傳輸消息到服務端的運行實體。…

異眾比率(variation ratio)

異眾比率&#xff08;variation ratio&#xff09;是指非眾數組的頻數占總頻數的比率&#xff0c;其計算公式為: 其中&#xff0c;為眾數組的頻數。 異眾比率主要用于衡量眾數對一組數據的代表程度。異眾比率越大&#xff0c;說明非眾數組的頻數占總頻數的比重越大&#xff0…

harbor 認證

Harbor 認證過程 Harbor以 Docker Registry v2認證為基礎&#xff0c;添加上一層權限保護。1.v2 集成了一個安全認證的功能&#xff0c;將安全認證暴露給外部服務&#xff0c;讓外部服務去實現2.強制用戶每次Docker pull/push請求都要帶一個合法的Token&#xff0c;Registry會…

python的requests爬蟲模塊使用代理ip方法---集合

形式一 import requests proxies {http:128.3.74.224:2890,https:128.3.74.224:2890} ip requests.get(http://httpbin.org/ip,proxiesproxies) print(ip.text)形式二 形式一不行的情況下&#xff0c;試試形式二 import requests proxies {http:http://127.0.0.1:7890,http…

【AHK V2】設計模式之命令模式

目錄 情景劇場什么是命令模式優缺點優點缺點 使用命令模式的步驟命令模式代碼示例合理使用AI工具自動生成代碼 情景劇場 我們來設想一個場景&#xff1a; 你進入一家餐館&#xff0c;餐館只有老板一個人&#xff08;老板即廚師&#xff09;。 “老板&#xff0c;一份小炒肉&am…

Vue插槽solt如何傳遞具名插槽的數據給子組件?

在Vue中&#xff0c;你可以通過作用域插槽&#xff08;scoped slots&#xff09;來傳遞數據給子組件。這同樣適用于具名插槽。首先&#xff0c;你需要在子組件中定義一個具名插槽&#xff0c;并通過v-slot指令傳遞數據。例如&#xff1a; 子組件&#xff08;ChildComponent.vu…

自用RedisConfig的配置,更改key為string和value json的序列化,避免set亂的key

自用RedisConfig的配置&#xff0c;更改key為string和value json的序列化&#xff0c;避免set亂的key&#xff0c;使用StringRedisTemplate也可以解決&#xff0c;保證了redis set的值是正確的 Configuration public class RedisConfig {//更改key為string和value json的序列化…

吃透1850道真題和解析備考AMC8和AMC(1020240524持續發布)

多做真題&#xff0c;吃透真題和背后的知識點是備考AMC8、AMC10有效的方法之一&#xff0c;通過做真題&#xff0c;可以幫助孩子找到真實競賽的感覺&#xff0c;而且更加貼近比賽的內容&#xff0c;可以通過真題查漏補缺&#xff0c;更有針對性的補齊知識的短板。 今天我們繼續…

在新cloud上啟動備份數據庫

情況介紹&#xff1a;在云上劃拉一塊地方建立本地數據庫測試環境&#xff0c;通過數據庫備份包恢復數據并啟動。 1.在云上或者你自己的server上安裝Percona Server for MySQL&#xff0c;步驟如下 Use APT repositories - Percona Server for MySQL How to Install or Upgra…

java實現List對象轉geojson文本返回前端

1.業務需求 查詢帶有經緯度數據的list列表&#xff0c;將其轉為geojson格式給前端。 2.GeoJson格式說明 GeoJSON是一種對各種地理數據結構進行編碼的格式&#xff0c;基于Javascript對象表示法(JavaScript Object Notation, 簡稱JSON)的地理空間信息數據交換格式。GeoJSON對…

計算機系統的層次結構

操作系統的定義 操作系統&#xff08;Operating System&#xff0c; OS&#xff09;是指控制和管理整個計算機系統的硬件和軟件資源&#xff0c;并合理地組織調度計算機的工作和資源的分配&#xff1b;以提供給用戶和其他軟件方便的接口和環境&#xff1b;它是計算機系統中最基…

GBase 8s 如何查看回滾的事務 和對應的SQL

描述&#xff1a; 如何查看當前數據庫中是否有事務在回滾&#xff0c; 如果有&#xff0c; 具體是哪條 SQL 在回滾&#xff1f; 解決辦法&#xff1a; 方法1&#xff1a; 通過 onstat -u|grep RP&#xff1b; 可以獲取相關的 sessionid。 通過 onstat -g ses sid 獲取 SQL&a…

【多模態融合】Cross Modal Transformer: Towards Fast and Robust 3D Object Detection

論文鏈接&#xff1a;Cross Modal Transformer: Towards Fast and Robust 3D Object Detection 代碼鏈接&#xff1a;https://github.com/junjie18/CMT 作者&#xff1a;Junjie Yan, Yingfei Liu, Jianjian Sun, Fan Jia, Shuailin Li, Tiancai Wang, Xiangyu Zhang 發表單位…

字符串的周期:每一期都有那么幾位

【題目描述】 如果一個字符串可以由某個長度為k的字符串重復多次得到,則稱該串以k為周期。例 如,abcabcabcabc以3為周期(注意,它也以6和12為周期)。 輸入一個長度不超過80的字符串(不含空格),輸出其最小周期。 輸入第一行表示有T組數據,后續是T行字符串。輸出的每組…

性能測試工具

性能測試工具 1.Jmeter 環境搭建1.安裝JDK2.安裝Jmeter1.下載2.安裝3.環境配置 3.Jmeter 文件目錄介紹1.bin目錄2.docs 目錄3.printable_docs目錄4.lib目錄 4.修改默認配置1.漢化配置2.修改主題 5.元件的基本介紹6.元件的作用域作用域的原則 7.元件的執行順序 1.Jmeter 環境搭建…

Linux基礎-目錄命令

目錄文件命令 一、概述二、文件目錄1. 目錄信息1. pwd&#xff1a;顯示當前目錄2. cd &#xff1a;切換目錄3. ls&#xff1a;顯示目錄中的文件信息 2. 操作目錄1. mkdir : 創建目錄2. rm : 刪除目錄3. mv : 移動、重命名目錄4. cp &#xff1a;拷貝命令 一、概述 這里記錄一下…