Comment utiliser la Scro n'importe où pour proxy inverse et ajouter les en-têtes de la SCRO
J'ai lu pendant deux heures à la documentation de ce proxy Inverse pour ajouter de la SCRO en-têtes, et je ne suis pas en mesure d'utiliser. Pouvez-vous s'il vous plaît aider avec un exemple simple comment l'utiliser.
J'ai essayé cet exemple dans un script javascript
(function() {
var cors_api_host = 'cors-anywhere.herokuapp.com';
var cors_api_url = 'https://' + cors_api_host + '/';
var slice = [].slice;
var origin = window.location.protocol + '//' + window.location.host;
var open = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function() {
var args = slice.call(arguments);
var targetOrigin = /^https?:\/\/([^\/]+)/i.exec(args[1]);
if (targetOrigin && targetOrigin[0].toLowerCase() !== origin &&
targetOrigin[1] !== cors_api_host) {
args[1] = cors_api_url + args[1];
}
return open.apply(this, args);
};
})();
Je ne comprends pas vraiment si j'ai besoin d'node.js ou qu'est-ce exactement
Oui, vous avez à courir que le proxy sur un serveur de nœud.
Comment faire ?
Créer un script qui contient l'exemple dans le fichier readme et exécuter
C'est le côté client de démonstration d'un lien dans le fichier lisez-moi: github.com/Rob--W/cors-anywhere/blob/master/demo.html
L'exemple est assez difficile à comprendre avec les méthodes Get et Post, je veux juste appliquer la SCRO-n'importe où, pour une simple URL
Comment faire ?
Créer un script qui contient l'exemple dans le fichier readme et exécuter
node path/to/script.js
. Ensuite, sur votre page, il vous suffit de faire une demande à ce serveur.C'est le côté client de démonstration d'un lien dans le fichier lisez-moi: github.com/Rob--W/cors-anywhere/blob/master/demo.html
L'exemple est assez difficile à comprendre avec les méthodes Get et Post, je veux juste appliquer la SCRO-n'importe où, pour une simple URL
OriginalL'auteur Stranger B. | 2015-04-16
Vous devez vous connecter pour publier un commentaire.
De la SCRO n'importe où, aide à l'accès aux données à partir d'autres sites web qui est normalement interdit par la même la politique de l'origine des navigateurs web. Ceci est fait par l'utilisation de proxy demandes à ces sites par l'intermédiaire d'un serveur (écrit en Node.js dans le cas présent).
"Pour utiliser l'API, tout préfixe de l'URL avec l'URL de l'API.". C'est vraiment tout. Donc, au lieu de demander
http://example.com
, vous demandehttps://cors-anywhere.herokuapp.com/http://example.com
. La SCRO n'importe où allons ensuite faire la demande au nom de votre application, et ajouter de la SCRO en-têtes de la réponse, de sorte que votre application web peut traiter la réponse.L'extrait de votre question modifie automatiquement l'URL pour les demandes générées par
XMLHttpRequest
si nécessaire. Cet extrait n'est pas nécessaire, vous pouvez simplement ajouter de la SCRO n'importe où API URL vous-même, comme le fait dans la page de démonstration.Le repository sur Github (https://github.com/Rob--W/cors-anywhere) contient le code source du serveur que les pouvoirs de la SCRO n'importe où. Si vous êtes un dev front-end, alors que c'est tout ce que vous devez savoir. Si votre application a beaucoup d'utilisateurs, alors vous devriez hôte de la SCRO n'importe où vous-même, pour éviter de manger toutes les ressources sur le public de la SCRO server Anywhere.
Ce n'est pas dépassée. L'en-tête d'Origine est ajoutée automatiquement par les navigateurs web pour la croix-les requêtes d'origine. Si vous utilisez un environnement particulier (par exemple une extension de navigateur avec des autorisations d'accès à des sites web externes), alors vous ne pourriez pas besoin d'une source externe de la SCRO procuration à tous. La vérification côté serveur existe pour préserver les ressources et de décourager l'utilisation inutile de procurations. Si, pour une raison quelconque, l'en-tête d'Origine n'est pas ajouté automatiquement, mais vous devez utiliser le serveur proxy, le jeu de la
X-Requested-With
- tête de la demande. Pour plus de détails, voir github.com/Rob--W/cors-anywhere/pull/145#issuecomment-450528241Ah ok, merci pour l'explication! +1.
OriginalL'auteur Rob W
Reporter à Rob, mais voici ma tentative de réponse à votre question.
(Rob, n'hésitez pas à corriger cette réponse, et merci pour la SCRO n'importe où. Récemment, il m'a sauvé un tas d'ennuis.)
Installer La SCRO n'importe où.
Par exemple, à l'invite de commande, saisissez:
npm install cors-anywhere
(Cet exemple de commande installe les catégories de documents n'importe où dans le répertoire courant, en
node_modules\cors-anywhere
.)Exécution de la SCRO n'importe où.
Par exemple, à l'invite de commande, saisissez:
node cors-anywhere.js
De la SCRO Partout répond avec un message du genre:
(L'adresse IP
127.0.0.1
estlocalhost
; votre ordinateur.)Vous pouvez spécifier le port dans une variable d'environnement, mais j'ai choisi de modifier la valeur dans ma copie locale de
cors-anywhere.js
.Maintenant, supposons que vous souhaitez utiliser un non-SCRO-activé le service web à l'adresse suivante:
Au lieu d'utiliser que l'URL d'origine, vous utilisez de la SCRO n'importe où de domaine et le port, suivie de l'URL d'origine en tant que composant de chemin d'accès:
(Vous pouvez omettre le premier
http://
à partir de l'URL d'origine.)C:\cors-anywhere\node_modules\cors-anywhere\lib>npm run start
mieux de changer C:\cors-anywhere\node_modules\cors-anywhere\server.js et exécuter nœud server.js
OriginalL'auteur Graham Hannington