草庐IT

Bash$编码$Shell

全部标签

go - 编码文件以发送到 Google AutoML

我正在编写一个golang脚本来将图像发送到GoogleAutoMLAPI的预测引擎。它接受大多数使用以下代码的文件,但某些.jpeg或.jpeg会返回错误500,提示文件无效。大多数情况下它都有效,但我无法弄清楚异常(exception)情况。它们是完全有效的jpg。我正在使用EncodeToString对有效负载进行编码。除其他外,我尝试对其进行解码,将其保存为PNG,但似乎没有任何效果。它不喜欢某些图像。请问是不是我的方法出错了?任何帮助将非常感激。谢谢PS文件保存到文件系统并上传到S3就好了。它只是在发送到Google时失败的字符串编码。imgFile,err:=os.Open

json - 如何处理以base64编码为输入的[]byte(字节数组)

我想从客户端发送一个带有base64编码文件的json字符串,基本上它看起来像这样:{"data":"aGVscA==","filename":"file.txt"}我写了这个结构:typeStoredFilestruct{Data[]byte`json:"data"`Filenamestring`json:"filename"`}然后我将json解码为结构:decoder:=json.NewDecoder(request.Body)storedFile:=StoredFile{}err:=decoder.Decode(&storedFile)并用gorm保存:db.Create(&s

golang protobuf 编码(marshal)固定大小的空结构

我有一个protobuf结构Data在.proto中:messageData{uint64ID=1;uint32GUID=2;}在戈兰中b,err:=proto.Marshal(&pb.Data{})iferr!=nil{panic(err)}fmt.Println(len(b))我得到了0长度!无论pb.Data是什么,如何让proto.Marshal始终返回固定大小?附言。pb.Data只包含int64和int32 最佳答案 这里有两个问题1)protobuf对整数使用varint编码,因此大小取决于值,参见thislink2)

go - 我如何捕获 netcat 反向 shell?

我正在使用Go开发TCP服务器。TCP服务器需要能够从netcat捕获反向shell:$nc127.0.0.18080-e/bin/bash我应该能够发送命令和接收响应;但是,我的服务器似乎在收到连接时挂起。我认为问题出在bufio.NewReader(conn).ReadString('\n')行,但我不知道如何解决。能否提供任何解决方案,谢谢?服务器代码(注意:为简洁起见省略了错误处理):funcmain(){ln,_:=net.Listen("tcp","127.0.0.1:8080")for{conn,_:=ln.Accept()handleConn(conn)}}funcha

bash - 在 Jenkins 中使用脚本在不同阶段运行

我运行以下有效的脚本sh"""mkdir-p/go/src/git.company/mfr/go-projcp-R$WORKSPACE/*/go/src/git.company/mfr/go-projcd/go/src/git.company/mfr/go-projgotest-v./..."""但是当我这样运行时我得到了错误,为什么?sh"mkdir-p/go/src/git.company/mfr/go-proj"sh"cp-R$WORKSPACE/*/go/src/git.company/mfr/go-proj"sh"cd/go/src/git.company/mfr/go-pr

go - 使用 golang 从 YAML 解码/编码多行字符串字段

YAML文件可以包含带有“多行字符串”数据的字段。示例如下:Data:Foo:|enemies=alienslives=3enemies.cheat=trueenemies.cheat.level=noGoodRotten我如何在Golang中正确地编码和解码这些内容,Data字段的类型应该是什么,map[string][]byte?我试过:import(yamlv2"gopkg.in/yaml.v2")typedatastruct{Datamap[string][]byte}funcdecode(bytes[]byte)(*data,error){d:=&data{}err:=yam

bash - 去工具 vert 。 |& grep -v vendor ;真

all:gotool@gobuild-v.clean:rm-fapiserverfind.-name"[._]*.s[a-w][a-z]"|xargs-irm-f{}gotool:gofmt-w.gotoolvet.|&grep-vvendor;truehelp:@echo"make-compilethesourcecode"@echo"makeclean-removebinaryfileandvimswpfiles"@echo"makegotool-rungotool'fmt'and'vet'"@echo"makeca-generatecafiles".PHONY:cleangoto

go - 如何将 base64 编码的 p12 转换为 tls.Certificate

我有一个生成的base64.p12文件来对服务进行身份验证,我的resty客户端希望收到一个tls.Certificate。但是,pkcs12.Decode总是失败并显示“:asn1:语法错误:找到不定长度(不是DER)”这是否意味着我需要将我的base64编码的.p12文件转换为der格式的文件?或者我还应该怎么做才能将证书发送到服务器?data,_:=ioutil.ReadFile("/PathTo/certificate.p12")privateKey,certificate,_:=pkcs12.Decode(data,"abc123")//password=abc123tlsC

go - 解析 msgpack 编码单个 slice 的 msgpack 编码 slice 时为空 slice

我正在尝试解码来自服务器的gzip响应,该响应是一个msgpack数组或最终被gzip压缩的msgpack数组。为了说明这一点,我的回复看起来像这样:gzip(msgpack([msgpack([]),msgpack([]),msgpack([])....]))这是我到目前为止所做的,但是我收到了msgpack错误msgpack:invalidcode=3fdecodingarraylength因此我得到的只是空slice。我从这个SOanswer中获取的这个getBytes函数funcgetBytes(keyinterface{})([]byte,error){varbufbytes

go - 解码base64并将其编码为十六进制

我有以下代码解码base64,然后将其编码为十六进制。doc_id:="Can35qPeFkm9Xgmp9+aj3g=="base64_decode,err:=base64.StdEncoding.DecodeString(doc_id)iferr!=nil{log.Fatal("error:",err)}base64_decoded:=fmt.Sprintf("%q",base64_decode)fmt.Printf("base_decoded%v\n",base64_decoded)src:=[]byte(base64_decoded)fmt.Println(src)hex_enc