服务器端JavaScript:使用cookie进行HTTP GET?

时间:2011-06-09 19:21:02

标签: javascript unix curl xmlhttprequest system

我有一个用JavaScript编写的UI自动化脚本。从该脚本,如何使用cookie执行GET请求到URL? E.g:

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

或者,如果您知道如何从JavaScript运行系统命令,就像您在Ruby中一样,那也可以。

2 个答案:

答案 0 :(得分:1)

有关使用jQuery在浏览器中设置Cookie的信息,请参阅this thread

答案 1 :(得分:1)

在查看HTTP GET request in JavaScript?并阅读"3.6.2. The setRequestHeader() method" in the W3C specs for XMLHttpRequest的第7步后,我想出了:

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();
}

仅供参考,我忽略了响应,因为我正在删除资源(也许我应该验证正确的响应,以便我知道资源已被删除)。所以,是的,这应该是DELETE请求,但是他们将服务器配置为接受GET请求,而我无法控制它。