
golang
golang 微服务
廖圣平
高级技术经理 +v:juzhen321
展开
-
go 实现抓包 ,盗取浏览器接口信息|反反爬虫
同理, 如果抓取手机上的信息也需要安装证书到手机上(安卓,或苹果),在和电脑同一个局域网的前提下,输入上图的地址,端口为9090。其实到这边就实现了抓包了, 通过这个可以篡改数据,或者伪造数据,可以创造出很多有趣的软件。这样控制台就能抓取到浏览器里面的信息了,比如我在编辑这篇文章的时候,会请求接口。我刚才试了下抓微信的,好像没这么简单, 抓取下来的数据乱的,可能做了啥加密吧。这边提示要把证书导入系统中,根目录有一个 crt 文件,把他导入进去。安装好证书之后,设置电脑的代理。这样就实现了,浏览器抓包了。原创 2023-01-31 17:24:41 · 1010 阅读 · 0 评论 -
Go|Gin 快速使用Swagger
go 使用swagger原创 2021-12-13 13:54:26 · 2191 阅读 · 0 评论 -
Go 切片内存分配
切片是数组的抽象。 切片使用数组作为底层结构。 切片包含三个组件:容量,长度和指向底层数组的指针。通过使用 append 或 copy 函数可以增加切片的容量。 append 函数可以为数组的末尾增加值,并在需要时增加容量。s :=[]string{}//for i:=0;i<10;i++ { s = append(s,"i") t.Log(len(s),cap(s))} slice_test.go:25: 1 1 slice_test.go:25: 2 2 s原创 2021-08-15 21:58:42 · 620 阅读 · 0 评论 -
Go + cousul 治理微服务(服务端)【三】
上一节,完成了consul的搭建,这节的目标是 写一个服务类,用于客户端调用。编写服务端创建 /server/server.gotype OrderServer struct {}func (h *OrderServer)CreateOrder(ctx context.Context,req *OrderService.Request, rp *OrderService.Response) error { defer func() { if err :=recover(); err !=.原创 2021-08-02 16:34:43 · 273 阅读 · 0 评论 -
Go + cousul 治理微服务(cousul 安装)【二】
consoul 是微服务服务于发现,其他的不多说了Docker安装docker pull consul:latest启动docker run -d -p 8500:8500 consul:latest我们访问本地地址 端口8500 的就可以看到上图的效果了下面我们需要做的是往 consul 注册服务git commit -m "consul 安装"...原创 2021-08-02 15:33:37 · 249 阅读 · 0 评论 -
Go + cousul 治理微服务(客户端)【五】
先初始化下编写main文件 consulRegister := consul.NewRegistry(func(options *registry.Options) { options.Addrs = []string{ "192.168.205.22:8500", } }) //创建一个新的服务 server := micro.NewService( micro.Name("client"), micro.Registry(consulRegister), ) //初始原创 2021-08-02 17:49:28 · 241 阅读 · 0 评论 -
Go + cousul 治理微服务(服务注册)【四】
上节把服务端讲完了,现在我们需要把服务注册到consul中去。go get github.com/micro/go-micro/v2/registrygo get github.com/micro/go-plugins/registry/consul/v2引入微服务注册包和consul 注册包我们在server.go 中修改代码: consulRegister := consul.NewRegistry(func(options *registry.Options) { options..原创 2021-08-02 17:03:42 · 248 阅读 · 0 评论 -
Go + cousul 治理微服务(proto编写)【一】
编写 proto 我认为比较显著的有点有:1、性能好/效率高时间开销: XML格式化(序列化)的开销还好;但是XML解析(反序列化)的开销就不敢恭维了。 但是protobuf在这个方面就进行了优化。可以使序列化和反序列化的时间开销都减短。、2、支持多种编程语言可以生成 java ,go,py ,php 之类的代码,啥时候你不想用Go写RPC服务了,你可以用这个proto文件生成Java的接口,无缝对接。这个系列我用订单做个微服务helloword这个proto就像我们变成中的实现接口(inte.原创 2021-08-02 14:43:19 · 408 阅读 · 0 评论 -
go获取结构体后面的自定义参数
package mainimport ( "fmt" "reflect")type resume struct { Name string `json:"name" doc:"我的名字"`}func findDoc(stru interface{}) map[string]string { t := reflect.TypeOf(stru).Elem() doc := make(map[string]string) for i := 0; i原创 2021-07-28 15:08:18 · 593 阅读 · 0 评论 -
gin自定义验证器转化中文
使用gin 自带 绑定验证参数返回的是中文,对于国人来说看起来不是特别友好{ "message": "Key: 'Booking.CheckIn' Error:Field validation for 'CheckIn' failed on the 'required' tag\nKey: 'Booking.CheckOut' Error:Field validation for 'CheckOut' failed on the 'required' tag"}可以用validator 翻译成.原创 2021-07-28 10:39:20 · 2445 阅读 · 2 评论 -
Gin 笔记
jsonjson 字符串gin.H{ "name":"liaosp", })输出json c.JSON(200,gin.H{ "name":"liaosp", })中间件参考:这里 r := gin.New() r.Use(IPAuthMiddleware())func IPAuthMiddleware() gin.HandlerFunc { return func(c *gin.Context) { //todo }}...原创 2021-07-21 14:46:30 · 170 阅读 · 0 评论 -
Go 笔记
自动加载Airlinux:go env -w GOPROXY=https://goproxy.cnGO111MODULE=on go get -u github.com/cosmtrek/airwindowsgithub.com/cosmtrek/air/releases 下载exe 到go 的bin 目录执行: air原创 2021-07-06 17:54:43 · 289 阅读 · 0 评论 -
Go 加载静态资源
mux:github.com/gorilla/muxfunc RegisterWebRoutes(r *mux.Router) { . . . // 静态资源 r.PathPrefix("/css/").Handler(http.FileServer(http.Dir("./public"))) r.PathPrefix("/js/").Handler(http.FileServer(http.Dir("./public"))) // 中间件:原创 2020-12-07 14:21:07 · 925 阅读 · 0 评论 -
Go 数据库连接mysql
使用mysql 驱动:go get github.com/go-sql-driver/mysqlpackage mainimport ( "database/sql" "fmt" "github.com/go-sql-driver/mysql" "log" "time")var db *sql.DBfunc initDb(){ var err error config := mysql.Config{ User: "root", P原创 2020-12-07 10:04:27 · 224 阅读 · 0 评论 -
GO数组与循环
创建数据 var tests = []struct { method string url string expected int }{ {"GET", "/", 200}, {"GET", "/about", 200}, }for _,value :=range 数组 { fmt.printf(value.url)}以上的斜杠为key ,如果写成key 如果循环体没有用到,则会报错:key declared but not usedgo 对于数原创 2020-12-04 14:23:01 · 1149 阅读 · 0 评论