服务器端 JavaScript:带有 cookie 的 HTTP GET?

发布于 2024-11-14 11:49:25 字数 236 浏览 1 评论 0原文

我有一个用 JavaScript 编写的 UI 自动化脚本。在该脚本中,如何使用 cookie 对 URL 执行 GET 请求?例如:

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

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

I have a UI Automation script, written in JavaScript. From that script, how do I execute a GET request to a URL with a cookie? E.g:

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

Or, if you know how to run system commands from JavaScript, like you can do in Ruby, that'll work too.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情丝乱 2024-11-21 11:49:25

请参阅此线程了解如何使用 jQuery 在浏览器中设置 cookie 。

See this thread on using jQuery to set cookies in the browser.

Smile简单爱 2024-11-21 11:49:25

查看 JavaScript 中的 HTTP GET 请求? 并阅读第 7 步后“3.6.2. XMLHttpRequest 的 W3C 规范中的 setRequestHeader() 方法”,我想出了:

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 请求,而我对此无法控制。

After checking out HTTP GET request in JavaScript? and reading step 7 of "3.6.2. The setRequestHeader() method" in the W3C specs for XMLHttpRequest, I came up with:

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

FYI, I'm disregarding the response because I'm deleting a resource (perhaps I should verify the correct response so that I know the resource was deleted). So, yes, this should be a DELETE request, but they configured the server to accept a GET request, and I have no control over this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文