Google Text-To-Speechを使用してオーディオを再生しようとしています。したがって、リファラーとユーザーエージェントを適切に設定して、エンドポイントにリクエストを送信する必要があります。この呼び出しは、再生できる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 」も確認してください。