2011-06-09 3 views
0

J'ai un script UI Automation, écrit en JavaScript. A partir de ce script, comment exécuter une requête GET vers une URL avec un cookie? Par exemple:JavaScript côté serveur: HTTP GET avec cookie?

curl "https://example.com/path?a=123&b=cool" --cookie "c=12" 

Ou, si vous savez comment exécuter les commandes du système à partir de JavaScript, comme vous pouvez le faire en Ruby, ça fonctionne aussi.

+0

Pour ceux qui ne connaissent pas les options de la ligne de commande curl par cœur, une explication de ce que fait réellement votre appel curl serait bien. ;) – Tomalak

+0

«homme curl». Ensuite, tapez '/' pour rechercher. Ensuite, tapez '-b' et appuyez sur Entrée. Vous verrez: '-b/- cookie (HTTP) Transmettre les données au serveur HTTP en tant que cookie'. J'ai mis à jour la question pour la rendre plus claire. – ma11hew28

Répondre

1

Après avoir vérifié HTTP GET request in JavaScript? et la lecture de l'étape 7 de "3.6.2. The setRequestHeader() method" in the W3C specs for XMLHttpRequest, je suis venu avec:

function httpGet(url, opts={}) { 
    var client = new XMLHttpRequest(); 
    client.open('GET', url, false); // not async 
    if (opts.cookie) { 
    client.setRequestHeader('Cookie', opts.cookie); 
    } 
    client.send(); 
} 

Pour votre information, je suis sans tenir compte de la réponse parce que je suis la suppression d'une ressource (peut-être que je devrais vérifier la bonne réponse pour que je sache que la ressource a été supprimée). Donc, oui, cela devrait être une requête DELETE, mais ils ont configuré le serveur pour accepter une requête GET, et je n'ai aucun contrôle sur cela.

1

Voir this thread sur l'utilisation de jQuery pour définir des cookies dans le navigateur.

+0

Je suis désolé, je ne suis pas sûr de savoir comment ce sujet est pertinent. Je demande comment envoyer une requête GET avec un cookie à une URL avec JavaScript. De plus, le JavaScript est géré par [Mac Developer Tools: Instruments] (http://developer.apple.com/technologies/tools/) et non par un navigateur. – ma11hew28

Questions connexes