这似乎是一个错误,无论是 Google Drive 还是 golang,我不确定是哪一个!
问题是您提供的第一个 URL 重定向到第二个 URL,如下所示
https://doc-00-c8-docs.googleusercontent.com/docs/securesc/ha0ro937gcuc7l7deffksulhg5h7mbp1/8i67l6m6cdojptjuh883mu0qqmtptds1/1376330400000/06448503420061938118/*/0B2Q7X-dUtUBebElySVh1ZS1iaTQ?h=16653014193614665626&e=download
请注意*
在合法的 URL 中这个堆栈溢出问题。然而,它作为分隔符确实具有特殊含义。
Go 使用以下命令获取 URL*
编码为%2A
像这样
https://doc-00-c8-docs.googleusercontent.com/docs/securesc/ha0ro937gcuc7l7deffksulhg5h7mbp1/8i67l6m6cdojptjuh883mu0qqmtptds1/1376330400000/06448503420061938118/%2A/0B2Q7X-dUtUBebElySVh1ZS1iaTQ?h=16653014193614665626&e=download
Google 会回复“403 Forbidden”。
谷歌似乎没有解决这个问题%2A
into a *
.
根据维基百科上的这篇文章保留字符(其中*
是其中之一)在 URI 方案中使用:如果需要将该字符用于某些其他目的,则该字符必须进行百分比编码。
我不是这方面的专家,不能说谁是对的,但既然谷歌写了问题的两个部分,那肯定是他们的错!
这是我用于测试的程序