草庐IT

TNT_SERVER_URL

全部标签

go - HTTP.Server 关闭导致运行时错误

我有一个在darwin/amd64上用Go1.9.2编写的goroutine,它会导致运行时错误:无效的内存地址或nil指针取消引用。我认为这是因为某种与例程退出顺序相关的竞争条件,但我不确定。主应用程序正在做几件事,所以我将网络服务器作为goroutine启动,然后监听来自父进程的退出信号并尝试在返回之前彻底关闭所有内容。函数如下://WebServerdefinesthehandlerendpointsandlaunchesthewebserverlistenerfuncWebServer(wg*sync.WaitGroup){//Makesuretheexitisnoteddef

url - 从 URL 中提取不区分大小写的查询参数

我正在尝试从URL中提取不区分大小写的查询参数/staging/ec/23463/front-view-72768.jpg?angle=90&or=0x0&wd=400&ht=200。当我尝试将整个URL转换为小写时,它会抛出以下异常:cannotuser.URL(type*url.URL)astypestringinargumenttostrings.ToLower我打印了URL的值,它表示底层将所有查询字符串存储为map,即map[angle:[90]or:[0x0]wd:[400]ht:[200]]。因此,我将使用此r.URL.Query().Get("or")获得正确的值,但是

validation - URL 验证似乎已损坏

我正在尝试使用Go的标准库验证URL。这就是我的代码目前的样子。import("fmt""net/url")funcisValidURL(tocheckstring)bool{_,err:=url.ParseRequestURI(tocheck)returnerr==nil}funcmain(){fmt.Println(isValidURL("google.com"))//returnsfalse,expectedtruefmt.Println(isValidURL("www.google.com"))//returnsfalse,expectedtruefmt.Println(isV

amazon-web-services - 创建预签名 url 时出现紧急错误

我正在尝试使用aws-sdk-go创建一个预签名的url,但它失败了,输出如下:panic:runtimeerror:invalidmemoryaddressornilpointerdereference[signalSIGSEGV:segmentationviolationcode=0x1addr=0x18pc=0x138d40a]goroutine1[running]:github.com/aws/aws-sdk-go/service/s3.New(0x0,0x0,0x0,0x0,0x0,0x0)/Users/me/go/src/github.com/aws/aws-sdk-go/

go - 类型 *url.URL 没有字段或方法 ParseRequestURI

这是我的代码:director:=func(req*http.Request){fmt.Println(req.URL)regex,_:=regexp.Compile(`^/([a-zA-Z0-9_-]+)/(\S+)$`)match:=regex.FindStringSubmatch(req.URL.Path)bucket,filename:=match[1],match[2]method:="GET"expires:=time.Now().Add(time.Second*60)signedUrl,err:=storage.SignedURL(bucket,filename,&sto

http - 如何让 Go 的 http.Server 闲置一段时间后退出?

我正在使用标准库net/http包在Go中编写一个Web服务器,该包利用systemd套接字激活。我有基本的工作原理,这样服务器在第一次连接到监听套接字时启动,并且我可以在发出信号时执行正常关闭(即systemctlstop将在没有切断事件请求)。我希望服务器在闲置一段时间后自动退出。类似于以下内容:当最后一个事件请求完成时,启动一个计时器,比如30秒。如果在此期间有任何新请求到达,则停止计时器。如果计时器到期,则执行正常关机。我们的想法是释放服务器正在使用的资源,因为我们知道systemd会在新客户端出现时再次启动我们。我不确定的是第(1)和(2)部分。理想情况下,我想要一个不涉及修

sql-server - Golang 连接到 SQL Server 错误 - "TLS Handshake failed: Cannot read handshake packet: EOF"

我编写了一个系统,可以自动在MicrosoftAzure上部署VM,在上面安装SqlServer,然后针对新安装的服务器执行.sql脚本以初始化环境。周五,这一切都按预期进行。今天,我遇到了这个错误。我的代码具有以下相关导入:import("database/sql"_"github.com/denisenkom/go-mssqldb")并使用以下代码在安装后实际连接到数据库(为简洁起见删除了错误处理)://variablesconnectionString:="sqlserver://MasterUser:MasterPassword@xx.xx.xx.xxx:1433"dbName

reactjs - 通过nginx请求api server(Golang)失败返回404错误

我在docker环境下搭建nginx。当我尝试通过nginx端口访问api服务器时,请求返回404错误。这是堆栈。・client:react/axios・api:golang/gin・webserver:nginx・db:mysql・container:docker・ci-tool:travis・deploy:awselasticbeanstalk完整的源代码在这里:https://github.com/jpskgc/articlearticle├client│└nginx│└default.conf├api├nginx│└default.conf└docker-compose.yml

json - 无法使用 Golang 从 App Engine 将有效的 JSON 数据成功发布到远程 URL

更新:请参阅下面Alexey的评论以了解解决方案我正在尝试一个我认为很简单的函数来获取一些有效的Json数据并将其发布到远程url我已经尝试了在StackOverflow上可以找到的所有与此接近的示例,并且接收方始终有一个空负载。由于能够做到这一点,我排除了接收方:curl-XPOST'http://supersecreturl/mypost'-d'[{"iswaretoritchie":"thisjsonis100%valid"},{"icaneven":"copyand将其粘贴到curlPOST请求中并在远程端完美接收它"}]'请帮忙,我在这里失去理智..///Hereisappr

url - Golang 如何将 punycode 转换为 unicode?

我想转换urlf.e.:xn--h1aaebtrh5b.xn--p1ai-->кисточки.рф当然还有反过来:kremlin.ru--->xn--d1abbgf6aiiy.xn--p1ai我尝试使用idna包,但我无法导入vendor包idnaLink在文档上:https://godoc.org/golang.org/x/net/idna#Profile.ToUnicode尝试导入:import"golang_org/x/net/idna"获取错误:main.go:18:8:cannotfindpackage"golang_org/x/net/idna"inanyof:/usr/