为状态参数添加一个值?

时间:2019-08-15 19:01:25

标签: node.js

我正在尝试建立一个可编写脚本的帖子机器人,作为学习基本HTTP身份验证的练习。脚本中唯一缺少的是为status参数添加一个值(它将是您在帖子中输入的文本),但是我不知道这是什么意思

通过许多帖子,网站进行了搜索,但无法确定status参数是什么或它的值是什么

var request = require('request')
var username = 'myusername'
var password = 'mypassword'
var options = {
url: 'https://www.SiteToPostTo.com/',
auth: {
user: username,
password: password
}
}

request(options, function (err, res, body) {
if (err) {
console.dir(err)
return
}
console.dir('headers', res.headers)
console.dir('status code', res.statusCode)
console.dir(body)
})

替代代码似乎就是这个,但我不清楚用户名/密码信息会去哪里?

const requestUrl = url.parse(url.format({
protocol: 'https',
hostname: 'yoursite.com',
pathname: '/the/path',
query: {
key: value,
status: 'message to post'
}
}));

const req = https.get({
hostname: requestUrl.hostname,
path: requestUrl.path,
}, (res) => {
// ...
})

1 个答案:

答案 0 :(得分:1)

您提到的问题并不清楚,

  

脚本中唯一缺少的是为status参数添加一个值(它将是您在帖子中输入的文本)

我从“这将是您张贴在帖子中的文字”中假设,您想知道如何在API调用中发送request body

以下是使用request body模块通过POST方法调用发送request的方式,

const request = require("request");

const username = "myusername";
const password = "mypassword";
const options = {
  url: "https://www.SiteToPostTo.com/",
  auth: {
    user: username,
    password: password
  },
  body: JSON.stringify({
    key1: "val1",
    key2: "val2"
  })
};

request(options, function(err, res, body) {
  if (err) {
    console.dir(err);
    return;
  }
  console.dir("headers", res.headers);
  console.dir("status code", res.statusCode);
  console.dir(body);
});

就像您在url对象中指定authoptions键一样,您也将request body指定为body键的值。 请记住,对于JSON对象,request body应该作为字符串提供,这就是为什么我们使用JSON.stringify()