2019独角兽企业重金招聘Python工程师标准>>>

QRCode

百度百科: 
QR Code码,是由Denso公司于1994年9月研制的一种矩阵二维码符号,它具有一维条码及其它二维条码所具有的信息容量大、可靠性高、可表示汉字及图象多种文字信息、保密防伪性强等优点。

wiki: 
QR code (abbreviated from Quick Response Code) is the trademark for a type of matrix barcode (or two-dimensional barcode) first designed for the automotive industry in Japan. A barcode is a machine-readable optical label that contains information about the item to which it is attached. A QR code uses four standardized encoding modes (numeric, alphanumeric, byte/binary, and kanji) to efficiently store data; extensions may also be used

从git上搜索了一圈,找到了 三个二维码库,

https://github.com/boombuler/barcode   (stars 421)

https://github.com/skip2/go-qrcode  (stars 396)

https://github.com/tuotoo/qrcode  (stass 62)

然后写了一个二维码生成服务:

/*
# @Time    : 2018/5/16 11:51
# @Author  : Mickel Xiang
# @File    : qrcode_server.go
# @Function: -----------
*/
package mainimport (bs "encoding/base64""fmt"qrcode "github.com/skip2/go-qrcode""log""net/http"
)func main() {http.HandleFunc("/", http_qrcode) //设置访问的路由err1 := http.ListenAndServe(":8080", nil)if err1 != nil {log.Fatal("ListenAndServe:", err1)}
}
func http_qrcode(w http.ResponseWriter, req *http.Request) {req.ParseForm()param, _ := req.Form["str"]if param == nil {path := "." + req.URL.Pathfmt.Println("path", path)if path == "./favicon.ico" {http.NotFound(w, req)return}fmt.Printf("1a")http.Redirect(w, req, "/?str=", http.StatusFound)return} else {base641 := param[0]var png []bytepng, err := qrcode.Encode(string(base641), qrcode.Medium, 256)if err != nil {fmt.Println("error", err)}encodeString := bs.StdEncoding.EncodeToString(png)ls1 := "<!DOCTYPE html><head><meta charset='utf-8' /></head><body><img src='data:image/png;base64,"ls2 := "'/></body></html>"ls := ls1 + encodeString + ls2fmt.Fprintf(w, ls)}
}

请求地址:

http://localhost:8080/?str=https://www.baidu.com

转载于:https://my.oschina.net/mickelfeng/blog/1813438

Go实战--二维码生成server相关推荐

  1. Java 快速开发二维码生成服务

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 公众号「码农小胖哥」 1. 前言 不知道从什么 ...

  2. .NET 二维码生成(ThoughtWorks.QRCode)

    引用ThoughtWorks.QRCode.dll (源代码里有) 1.简单二维码生成及解码代码: //生成二维码方法一private void CreateCode_Simple(string nr ...

  3. 微信支付:支付流程分析、微信扫码支付(HttpClient)、微信支付二维码生成、检测支付状态、订单状态操作准备工作、支付信息回调、MQ处理支付回调状态、定时处理订单状态

    微信支付 微信支付开发的整体思路 生成支付二维码 查询支付状态(微信的服务器) 实现订单状态的修改.删除订单 支付状态回查->微信服务器将支付状态返回给支付微服务 MQ处理支付回调状态 Rabb ...

  4. .NET 二维码生成

     使用NuGget添加 ThoughtWorks.QRCode 在项目引用: using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Co ...

  5. 基于WEB的二维码生成系统设计与实现(Asp.net)

    目 录 1 引言 6 2 二维码的生成原理 6 2.1基础知识 6 2.1.1定位图案 7 2.1.2功能性数据 8 2.1.3数据码和纠错码 8 2.2数据编码 8 2.3结束符和补齐符 9 2.3 ...

  6. 二维码生成与解析(使用ThoughtWorks.QRCode)

    二维码生成 QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); qrCodeEncoder.QRCodeEncodeMode = QRCodeEnco ...

  7. 舒工深度解析不规则场地座位二维码生成规则

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  8. 玩转Android之二维码生成与识别

    二维码,我们也称作QRCode,QR表示quick response即快速响应,在很多App中我们都能见到二维码的身影,最常见的莫过于微信了.那么今天我们就来看看怎么样在我们自己的App中集成二维码的 ...

  9. java 二维码生成和解析

    2019独角兽企业重金招聘Python工程师标准>>> <!-- 二维码 --><dependency><groupId>com.google.z ...

最新文章

  1. 所有字符不含换行 正则表达式_网络爬虫 | 正则表达式
  2. laravel 中创建全局函数 (类似于 TP 中 functions.php) 的方式
  3. 【项目实战课】AI零基础,人人免费可学!基于Pytorch的SimpleNet人脸表情识别实战...
  4. Games, rules and ways: 东西卖给谁?
  5. php.ini在哪里 微赞_Php.ini文件位置在哪里 Php.ini文件找不到
  6. java for循环break_Java中break、continue、return在for循环中的使用
  7. 关于线程的执行顺序,可能真的只是你以为的你以为
  8. python缺失值处理 fillna能否用scala来处理_数据清洗(一)丨处理缺失数据
  9. 荣耀x10max能不能升级为鸿蒙,荣耀X10 Max即将亮相:容量很“放肆” 身材却很“克制”...
  10. 以腾讯云IoT Suite为例 谈谈边缘计算在物联网的实践与实现
  11. NHibernate 3.x新功能实践(二) QueryOver(下)
  12. jsp页面如何通过href跳转到另一个jsp
  13. .Net转Java自学之路—基础巩固篇二十二(XML)
  14. 计算机管理员怎么开通,管理员权限怎么设置
  15. ASP.NET2.0 ReportingServices报表灵魂的收割者(一)
  16. 2020快手前端暑期实习面经
  17. PLC计数器例子——3个计数器构成的24小时时钟
  18. Terraria-steam联机与服务器搭建联机
  19. 【电脑使用】如何将电脑磁盘变为移动磁盘?
  20. oracle rfs进程过多,oracle 11.2 DataGuard少了日志应用进程RFS

热门文章

  1. 无SSH工具部署网站到火腿云
  2. mysql怎么用sb文件_初识mysql数据库
  3. 3d建模电脑配置要求_2019年3d设计渲染电脑配置推荐
  4. 在sqlserver中创建表值函数
  5. layui中table显示 图片
  6. 正则表达式中或关系表示及查找英文字母最后一个
  7. VB 遍历指定目录及子目录所有文件函数
  8. 学习 Linux LVM
  9. AI如何变革家居软装?拍图就能搜商品,深度学习平台飞桨新玩法
  10. 马斯克回应一切:2018年极其痛苦,福特难熬下次经济衰退,后悔发太多推特