问题:
当我运行相同的go测试两次时,第二次运行根本没有完成.结果是第一次运行时缓存的结果.
PASS
ok tester/apitests (cached)
Run Code Online (Sandbox Code Playgroud)
链接
我已经检查过https://golang.org/cmd/go/#hdr-Testing_flags但是没有cli标志用于此目的.
题:
是否有可能强制执行测试以始终运行测试而不是缓存测试结果.
我希望有人可以帮助我弄清楚如何在 gcs 中使用经过身份验证的 URL。
我想要存档的内容:
问题:
当我尝试访问 GCS 的经过身份验证的 URL 时,它们在浏览器中不起作用,但仅当设置了标头“referer:https: //console.cloud.google.com/”时才起作用。
如何重现:
3.1)当我点击谷歌云控制台中的链接时,下载工作没有问题
3.2) 当我复制 url 并在新选项卡中打开它时,出现 403 错误
在控制台上使用curl进行测试,我发现两个调用之间的区别在于-H 'referer: https://console.cloud.google.com/'是否设置了。如果我设置它,来自新选项卡的调用也可以工作。
当我尝试从 Content-Disposition 标头获取文件名时,go 函数mime.ParseMediaType()失败并出现错误mime: invalid media parameter
我已经发现它适用于正常的文件名格式:
attachment; filename="Geotag_Stamp%20(1)%20(1).jpg"<- 作品
但是对于 UTF-8 文件名(在rfc6266中定义),它会失败并出现第一段中给出的错误:
attachment; filename*=UTF-8''"Geotag_Stamp%20(1)%20(1).jpg"<- 失败
这是我的代码:
package main
import (
"fmt"
"mime"
)
func main() {
d, params, err := mime.ParseMediaType(`attachment; filename="Geotag_Stamp%20(1)%20(1).jpg"`)
if err != nil {
fmt.Println("**Normal Filename error:", err)
}
fmt.Println("Normal:", d, params)
d, params, err = mime.ParseMediaType(`attachment; filename*=UTF-8''"Geotag_Stamp%20(1)%20(1).jpg"`)
if err != nil {
fmt.Println("**UTF-8 Filename error:", err)
}
fmt.Println("UTF-8",d, params)
}
Run Code Online (Sandbox Code Playgroud)
stdlib 是否可能不支持 Content-Disposition->Filename 的 UTF-8 版本?