简单高效的 GO 发票识别 + 发票检查界面
最编程
2024-04-12 16:08:08
...
package main
import (
"fmt"
"bytes"
"mime/multipart"
"net/http"
"io/ioutil"
)
func main() {
url := "https://netocr.com/verapi/v2/verInvoice.do"
method := "POST"
payload := &bytes.Buffer{}
writer := multipart.NewWriter(payload)
_ = writer.WriteField("key", "M***********g")
_ = writer.WriteField("secret", "3***********6")
_ = writer.WriteField("typeId", "3007")
_ = writer.WriteField("invoiceCode", "9********")
_ = writer.WriteField("invoiceNumber", "*********")
_ = writer.WriteField("billingDate", "************")
_ = writer.WriteField("totalAmount", "********")
_ = writer.WriteField("checkCode", "**********")
_ = writer.WriteField("salesTaxNo", "********")
_ = writer.WriteField("orderNo", "***************")
err := writer.Close()
if err != nil {
fmt.Println(err)
return
}
client := &http.Client { }
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Set("Content-Type", writer.FormDataContentType())
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}