Requête Ajax: Refusé de jeu dangereux d'en-tête
Je suis en train de jouer un son à l'aide de Google Text-to-Speech. Donc j'ai besoin de poster une demande à leur extrémité avec le Referer et l'Agent Utilisateur de définir correctement. Cet appel doit retourner un MP3 que je peux jouer.
Cependant, j'ai "Refusé au jeu dangereux de l'en-tête" des erreurs. C'est mon code. Comment puis-je le faire?
$.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();
}
});
Double Possible de Ajouter un en-Tête de Requête AJAX avec jQuery
N'est pas n'importe quel en-tête de définir, Google translate point de terminaison n'est pas en charge de la SCRO
Boucles il fonctionne...
Pour cURL vous faites la demande vous-même, vous ne vous posez pas votre navigateur du visiteur à effectuer tranquillement à l'arrière-plan en votre nom. Il y a beaucoup de restrictions de sécurité lorsque vous essayez de faire d'autres personnes les navigateurs de faire les choses.
N'est pas n'importe quel en-tête de définir, Google translate point de terminaison n'est pas en charge de la SCRO
Boucles il fonctionne...
Pour cURL vous faites la demande vous-même, vous ne vous posez pas votre navigateur du visiteur à effectuer tranquillement à l'arrière-plan en votre nom. Il y a beaucoup de restrictions de sécurité lorsque vous essayez de faire d'autres personnes les navigateurs de faire les choses.
OriginalL'auteur Arturo | 2015-10-15
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas. C'est impossible.
La spécification exige que le navigateur abandonner le
setRequestHeader
méthode si vous essayez de définir ces en-têtes.Si vous avez besoin de définir ces en-têtes, alors vous devez en faire la demande à partir de votre serveur et de ne pas le navigateur de vos visiteurs.
(Cela dit, si vous avez besoin de mentir à propos de l'agent de l'utilisateur ou de l'appelante, alors vous êtes probablement en train d'utiliser le service de manière que le propriétaire ne veut pas, donc vous devez respecter cela et arrêter d'essayer).
Également cocher la case "Chercher interdit noms d'en-tête".
OriginalL'auteur Quentin
Vous ne pouvez pas. C'est impossible.
La spécification exige que le navigateur abandonner le
setRequestHeader
méthode si vous essayez de définir la norme en-têtes de requête.Au lieu de cela, vous pouvez définir l'en-tête personnalisé pour répondre à votre demande .
OriginalL'auteur sagar