我有一个 node .判断请求cookie的js Connect服务器.为了在 node 中测试它,我需要一种方法来编写客户端请求并向其附加cookie.我知道HTTP请求有这个"cookie"头,但我不确定如何设置和发送——我还需要在同一个请求中发送POST数据,所以我目前正在使用DanError的restler模块,但它似乎不允许我添加这个头.

关于如何使用硬编码cookie和POST数据向服务器发出请求,有什么建议吗?

推荐答案

此答案已被弃用,请参阅@ankitjaininfo的答案below以了解更现代的解决方案


我认为您可以使用 node http库,通过数据和cookie发出POST请求.本例是发布JSON,如果发布不同的数据,请相应地设置内容类型和内容长度.

// NB:- node's http client API has changed since this was written
// this code is for 0.4.x
// for 0.6.5+ see http://nodejs.org/docs/v0.6.5/api/http.html#http.request

var http = require('http');

var data = JSON.stringify({ 'important': 'data' });
var cookie = 'something=anything'

var client = http.createClient(80, 'www.example.com');

var headers = {
    'Host': 'www.example.com',
    'Cookie': cookie,
    'Content-Type': 'application/json',
    'Content-Length': Buffer.byteLength(data,'utf8')
};

var request = client.request('POST', '/', headers);

// listening to the response is optional, I suppose
request.on('response', function(response) {
  response.on('data', function(chunk) {
    // do what you do
  });
  response.on('end', function() {
    // do what you do
  });
});
// you'd also want to listen for errors in production

request.write(data);

request.end();

Cookie值中发送的内容实际上应该取决于从服务器接收到的内容.维基百科对这些东西的描述相当不错:http://en.wikipedia.org/wiki/HTTP_cookie#Cookie_attributes

Node.js相关问答推荐

如何在Firebase Cloud Function v2计划函数中设置代码中的时区?

JEST模拟由http服务器控制器导入的ES模块

如何在docker容器上正确安装nodejs?

Promise 和 Azure 语音转文本

DynamoDB 分页数据检索

Cypress.io - 如何等待返回调用属性的方法的结果?

NodeJS `request` 库无法通过 multipart-form-data 将文件发布到 dotnet 服务器

如何配置 Nginx React 和 Express

为什么运行 yarn 命令会出错 - yargs-parser的完整性判断失败

node_modules/preact/src/jsx.d.ts:2145:22 - 错误 TS2304:找不到名称SVGSetElement

为什么要加密 CSRF 令牌?

使用 fs.createWriteStream 将数据写入 bigquery (node.js) 时出现模式错误

如何在没有 Typescript 的情况下以交互方式使用 Create-React-App?

nvm / node / npm: node 12 的 npm 比 node 14 的更新?

为什么我的react 表单不能正常工作?

Winston http 日志(log)级别的行为与 info 不同

NestJS TypeORM 可选查询不起作用

使用 mongoose 查找过go 7 天的注册用户总数

代理后面的凉亭

如何在离线时安装 npm 包?