Go語言 REST Web服務呼叫

2021-07-27 06:26:26 字數 2127 閱讀 4497

dynamsoft部署了基於rest的條形碼服務。這裡分享下如何使用go語言傳送包含base64影象資料的http post請求。

1. 讀取影象檔案。

2. 把byte陣列轉換成base64字串。

3. json編碼。

4. 通過http post傳送json資料。

5. 伺服器識別條形碼返回結果。

6. json解碼獲取結果。

使用package ioutil讀取檔案:

import

"io/ioutil"

data, err := ioutil.readfile(filename)

base64編碼。因為i/o比較耗時,可以放到goroutine中去執行。通過channel返回結果:

import

"encoding/base64"

channel

先把資料儲存在map中:

base64data := 

data :=

make

(map

[string

]inte***ce

{})data[

"image"

] = base64data

data[

"barcodeformat"

] =

234882047

data[

"maxnumperpage"

] =

1

使用package json編碼:

jsondata, err := json.marshal(data)
返回結果json解碼:

result, _ := ioutil.readall(resp.body)

// decode json

const resultkey = "displayvalue"

dec := json.newdecoder(bytes.newreader(result))

for

if err != nil

tmp := fmt.sprintf("%v", t)

if tmp == resultkey

}

使用package http傳送http post請求:

1. 獲取依賴包:

2. 在go工程中匯入依賴:

3. 建立main.go:

}4. 編譯執行程式:

go

install

/bin/main

file>

Go語言呼叫dll

user32 syscall.newlazydll imobiledevice.dll messageboxw user32.newproc idevice event subscribe messageboxw.call uintptr c.test uintptr s imobiledevice...

Go語言微服務

微服務 go語言 docker技術也算目前比較熱門的技術話題,本人也是抱著學習的思想,整理一些學習心得,和志同道合的朋友一起 學習一下。接下來是一系列關於go語言微服務的系列文章。為什麼是go語言的微服務,原因很簡單,最近對go語言花了些時間對它進行了深入學習,還談不上很厲害,但熱度挺高。加上最近專...

Go語言入門 延遲呼叫 defer

func functionname parameterlist returntypes 語句defer想當前函式註冊乙個稍微執行的函式呼叫,它會在主調函式或者方法返回之前但是其返回值 當返回值存在 計算後執行。存在多個defer語句採用後進先出lifo last in first out 的順序執行...