欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

简单高效的 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)) }