请求谷歌文本转语音 API



我有这个网址:http://translate.google.com/translate_tts?ie=utf-8&tl=en&q=Hello+world当我把它放在浏览器中的地址栏并按回车键时,我得到带有合成语音的 mp3 文件,上面写着"你好世界"。一切都是正确的。

但是现在我在 HTML 中有一个重定向到此 URL 的链接,如下所示:

<a href="http://translate.google.com/translate_tts?ie=utf-8&tl=en&q=Hello+world">Link</a>

当我单击此链接时,我没有得到一个文件,而是一个错误(简单的QuickTime徽标)。谁能解释为什么会这样,我该如何解决我的问题?

解释是谷歌限制了这项服务的使用:根据这个 StackOverflow 答案,如果 HTTP 请求包含空字符串以外的 Referer 标头,Google 会返回 404 错误。

当您在地址栏中输入网址时,没关系,因为没有引用网址传输到谷歌。当您点击超链接时,您有一个推荐人,Google 会阻止您的请求。

注意:我测试了你的URL(见这里),它奏效了。我怀疑这只是因为我之前尝试过在我的地址栏中输入 URL,并且资源仍在我的浏览器缓存或我的音频插件 (VLC) 缓存中。

注意 2:有关解决方法,请参阅此处。

最新更新