微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Ajax请求:拒绝设置不安全的标头

我正在尝试使用Google Text-To-Speech播放音频.因此,我需要在Referer和User-Agent正确设置的情况下向其端点发布请求.此调用应返回我可以播放的MP3.

但是,我得到“拒绝设置不安全的标头”错误.这是我的代码.我该怎么做?

          $.ajax({
            url: 'http://translate.google.com/translate_tts?ie=UTF-8&q=Hello&tl=en&client=t',
            beforeSend: function(xhr) {
                 xhr.setRequestHeader("Referer", "http://translate.google.com/");
                 xhr.setRequestHeader("User-Agent", "stagefright/1.2 (Linux;Android 5.0)");
            }, success: function(data){
                el.mp3 = new Audio(data);
                el.mp3.play();
            }
          });

解决方法:

你不能.是不可能的.

如果您尝试设置这些标头,则specification要求浏览器中止setRequestHeader方法.

如果您需要设置这些标题,那么您需要从服务器而不是访问者的浏览器发出请求.

(也就是说,如果您需要欺骗用户代理或引用者,那么您可能正试图以其所有者不想要的方式使用该服务,因此您应该尊重并停止尝试).

另请查看“Fetch forbidden header names”.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐