草庐IT

get_similar_name

全部标签

rest - 如何在 Go 中执行带有正文的 GET 请求?

我正在尝试为内部API端点编写一个客户端,该端点接受带有JSON正文的GET请求:curl-XGET-d'{"foo":"bar"}'因为我无法更改API来接受POST,所以我假设在Go中实现相同的事情是微不足道的,但我一直无法让它发挥作用。我试图在这个URLencodedPOSTrequest的例子之后模拟我的尝试但不确定我将如何更改它以使用GET请求。提前致谢 最佳答案 这最终成功了:stmt:=`{"foo":"bar"}`req,err:=http.NewRequest("GET","",bytes.NewBuffer([]

go - 虹膜 GO : Get form urlencoded data not working

我正在尝试一些非常简单的事情,从我正在构建的应用程序的松弛命令中获取信息,并且由于我是Go的新手,我发现Iris是一个非常好的框架,所以我决定使用它和它实际工作的网站上的示例https://iris-go.com/v10/recipe#ReadForm90但是当我从slack接收数据时,不是,并且总是出现此错误。➜slack-appgoruniris.go[DBUG]2018/01/1922:10POST:/prices->main.main.func1()and2more[DBUG]2018/01/1922:10Application:runningusing1host(s)[DBU

Golang 在内存中缓存 HTTP GET 结果

我正在使用Go编写CLI,它抓取网页以将页面上所有链接的href属性收集到一个片段中。我想将这个slice存储在内存中一段时间​​,这样就不会在每次执行CLI命令时都调用scraper。理想情况下,只有在缓存过期或用户提供某种--update标志后才会调用scraper。我遇到了图书馆go-cache和其他类似的库,但据我所知,它们只适用于持续运行的东西,比如服务器。我考虑过将链接写入文件,但我如何在特定时间后使结果过期?为了使用像go-cache这样的库,在后台创建一个小型服务器并在一段时间后关闭是否有意义?感谢您的帮助。 最佳答案

go - 多个Http.Get随机挂起

我正在尝试学习Golang并进行了一个简单的项目来调用所有craigslist城市并查询它们以进行特定搜索。在下面的代码中,我删除了listingmap中的所有链接,但那里有超过400个链接。所以循环相当大。我认为这将是一个很好的测试,可以将我所学的知识付诸应用,但我遇到了一个奇怪的问题。有些时候,大多数Http.Get()都没有从服务器获得响应,而其他时候却毫无问题地获得了所有响应。所以我开始添加打印件来显示有多少错误我们恢复了,有多少成功通过了。此外,在运行时它会随机挂起并且从不响应。该程序没有卡住,但该站点只是坐在那里尝试加载,而终端没有显示任何事件。我通过在恢复后推迟清理来确保

go - 调用 `go get` 时缺少 Git 命令

我的DockerfileFROMgolang:1.10.2-alpine3.7ASbuildRUNapk--no-cacheaddgccg++makeca-certificatesRUNapkaddgitWORKDIR/go/src/github.com/meowerCOPYGopkg.lockGopkg.toml./COPYutilutilCOPYeventeventCOPYdbdbCOPYsearchsearchCOPYschemaschemaCOPYmeow-servicemeow-serviceCOPYquery-servicequery-serviceCOPYpusher-s

reactjs - AWS ELB 为 https ://domain_name:8000 but accessible via public_ip:8000 返回 404

我是在AWS上部署Web应用程序的初学者,我相信我遇到了与AWSforwardport8000fromelbtoport8000ofEC2类似的问题我有一个reactjs前端和golangapi在awsec2上运行,golangapi在端口8000上运行,可以通过我的public_ip:8000访问它,并给我消息说当我访问public_ip:8000时我的golangapi正在运行。我使用弹性IP创建了public_ip。我使用负载平衡器来获得HTTPS,因为我有一些只能与HTTPS一起使用的功能。然而,当我使用我的https://domain_name:8000时向我自己的API发送

go - 我如何让 "go get"在网络上而不是在我的计算机上查看

我正在尝试为一个项目做贡献,文档告诉我使用这个命令gogetgithub.com/foo/bar但是错误是can'tloadpackage:packagegithub.com/foo/bar:noGofilesin/home/f/go/src/github.com/foo/bar很明显它在我的电脑上看起来是这样,但我如何才能让它从网络上下载呢? 最佳答案 问题是您尝试下载的项目无法构建,因为Go在源路径github.com/foo/bar找不到任何要构建的源文件。但是,包是,已下载,如果您查看$GOPATH/src/github.c

转到 HTML 模板 : something similar to Jinja2 macros?

这部分是我之前question的后续行动.我现在要解决的问题是用参数转换Jinja2宏,例如,类似{%macroexample(arg1,arg2)%}{%ifarg1%}dosomethingwitharg1andarg2{%endif%}{%endmacro%}AFAICT,在Go中,最接近的等价物是嵌套模板,例如,{{define"example"}}{{if.Arg1}}dosomethingwith.Arg1and.Arg2{{end}}{{end}}但是,在Jinja中,arg1和arg2是我所说的真正的参数,即,当您调用example宏时,您将其调用为{{example(

go - 如何使用go get获取包的指定版本(标签)?

如何使用goget获取指定版本(tag)的包?去获取github.com/owner/repo在上面的命令中,如何指定包的版本或标签。 最佳答案 Volker是正确的,但这里有一种在项目中使用特定版本的方法:gogetgithub.com/sirupsen/logruscd$GOPATH/src/github.com/sirupsen/logrusgitcheckoutv0.9.0cd$GOPATH/src/github.com/YOU/PROJECTgovendoraddgithub.com/sirupsen/logrus#ors

go - 如何在 go 中使用 os.Name()?

我正在尝试使用:https://golang.org/src/os/file.go?s=1472:1577#L35通过导入“os”包然后运行f,err:=os.Open("/tmp/dat3")check(err)name:=os.Name(f)我得到./main.go:29:undefined:os.Name为什么?我究竟做错了什么。(我当然知道我有打开文件的名称-但我很好奇为什么,我无法调用该函数) 最佳答案 因为Name是定义在File结构上的特殊函数(method)。意味着它采用File类型作为接收器,并且可以使用接收器实例