jjzjj

go - 使用 golang 压缩一个文件文件夹会创建一个损坏的 zip

如何将文件正确压缩到包含子目录的文件夹中。我有一个具有以下结构的本地文件夹:folder/hello/folder/hello/world/folder/hello/world/helloword.txtfolder/index.txt这是我的代码:packagemainimport("archive/zip""fmt""io""os""path/filepath")funcmain(){files,err:=listFiles("./folder")iferr!=nil{panic(err)}zipMe(files,"test.zip")for_,f:=rangefiles{fmt.

linux - sleep 过程直到在 Go 中完成

我正在尝试在Go中自动化一个流程。我已经能够实现线程并相应地执行该过程,但是输出是混合和匹配的。我想知道是否有一种方法可以根据程序的进程显示程序生成的输出。因此,如果任务A在任务B之前完成,我们会在B之前显示A的输出,反之亦然。packagemainimport("fmt""log""os""os/exec""sync")varurlstringvarwgsync.WaitGroupfuncnikto(){cmd:=exec.Command("nikto","-h",url)cmd.Stdout=os.Stdouterr:=cmd.Run()iferr!=nil{log.Fatal(e

go - 使用golang解压密码zip

我正在尝试用golang解压缩一个zip文件(使用密码)。r,err:=zip.OpenReader("./path/to/the.zip")iferr!=nil{log.Fatal(err)}deferr.Close()for_,f:=ranger.File{iff.IsEncrypted(){f.SetPassword("$83?Lu{5nKbXxncjdH/_B)+}C`")}r,err:=f.Open()iferr!=nil{log.Fatal(err)}buf,err:=ioutil.ReadAll(r)iferr!=nil{log.Fatal(err)}deferr.Clo

arrays - 在 golang 中使用写入文件字节优化

我有以下程序,可以在.pem文件中打印出关于每个证书的信息:packagemainimport("crypto/x509""encoding/pem""io/ioutil""log""os""strconv")funcmain(){//fordevpurposessetto256constSignatureLengthint=256certPEMBlock,err:=ioutil.ReadFile("testsign.crt")iferr!=nil{log.Fatal(err)}varblocks[][]bytefor{varcertDERBlock*pem.BlockcertDERB

go - 访问 token 在 GO 中过期时如何使用谷歌刷新 token ?

我刚开始使用Google服务,目前正在尝试从gmailAPI读取电子邮件。但是,当访问token过期时,我陷入了这种情况。我有第一次身份验证的刷新token,但是,一些线程说访问token在过期时会自动刷新。但是我的没有。我不知道我哪里错了。这是我目前的代码。//getsavedtokenfromdatabase/anywhereelsefuncgetCachedToken()*oauth2.Token{token:=new(oauth2.Token)token.AccessToken="xxxxxxxx"token.RefreshToken="xxxxxx"token.TokenTy

go - 如何为 Go 中的行插入重用单个 Postgres DB 连接?

我正在尝试使用Go为从rabbitmq接收到的每条新消息将一行数据插入到Postgres表中,使用与在下面代码的init函数中打开的数据库的单个连接。代码不是只打开一个连接,而是打开497并达到最大值,这导致行插入停止...我已经尝试使用这些问题中的信息openingandclosingDBconnectioninGoapp和opendatabaseconnectioninsideafunction它说我应该打开一个连接并使用全局数据库以允许主函数将sql语句传递给在init函数中打开的连接。我以为我已经这样做了,但是每个新行都会打开一个新连接,因此一旦达到postgres连接限制,代

postgresql - Golang + postgres 存储gob数据

我正在尝试使用encoding/gob从Golang将编码数据存储到Postgres中。我也在使用Gorm。首先,使用发送表单数据iferr:=json.NewDecoder(r.Body).Decode(model);err!=nil{http.Error(w,err.Error(),http.StatusBadRequest)return}目前client_encoding在postgres数据库中设置为UTF8。这是我用来编码的内容:typepayloadstruct{Key[]byteNonce*[nonceLength]byteMessage[]byte}//Encryptm

go - 无法从 ssh 获取 stderr

我试图从ssh运行命令时获取错误信息。这是示例:packagemainimport("golang.org/x/crypto/ssh""net")funcmain(){config:=&ssh.ClientConfig{User:"xx",Auth:[]ssh.AuthMethod{ssh.Password("xxx"),},HostKeyCallback:func(hostnamestring,remotenet.Addr,keyssh.PublicKey)error{returnnil},}sshClient,err:=ssh.Dial("tcp","x.x.x.x:22",con

go - 如何使用 golang 写入已打开的 .xlsx 文件

标题如下。如果用额外的包容易实现,那再好不过了。如果它是轻量级的就更好了。如果可能,请教一个例子。 最佳答案 您可以使用xlsxpackagepackagemainimport("fmt""github.com/tealeg/xlsx")funcmain(){varfile*xlsx.Filevarsheet*xlsx.Sheetvarrow*xlsx.Rowvarcell*xlsx.Cellvarerrerrorfile=xlsx.NewFile()sheet,err=file.AddSheet("Sheet1")iferr!=n

unit-testing - 以 http 作为包装函数的依赖项的单元测试

我有以下函数,在@poy的帮助下,我能够为它创建模拟以便对其进行单元测试。现在的问题是我有包装函数也需要测试这是原始函数,已经过测试funchttpReq(cc[]string,methodstring,urlstring)([]byte,error){httpClient:=http.Client{}req,err:=http.NewRequest(method,url,nil)iferr!=nil{returnnil,errors.Wrap(err,"failedtoexecutehttprequest")}//Herewearepassinguserandpasswordreq.