我正在尝试设置一个可编写脚本的post机器人,作为学习基本HTTP身份验证的练习。脚本中唯一缺少的是为status参数添加一个值(它将是您在文章中放置的文本),但我不知道这意味着什么。
googled搜索了许多帖子、站点,但是找不出状态参数是什么或者它的值是什么。
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) => {
// ...
})
发布于 2019-08-15 19:23:46
从你的问题上看不太清楚,你说,
脚本中唯一缺少的是为status参数添加一个值(它将是您放入post的文本)。
我从“这将是您放入文章中的文本”中假设,您想知道如何在API调用中发送request body
。
下面是如何使用POST方法调用使用request body
模块发送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
对象中指定auth
键一样,您也应该将request body
指定为body
键的值。请记住,对于JSON对象,request body
应该作为字符串提供,这就是我们使用JSON.stringify()
的原因
https://stackoverflow.com/questions/57514815
复制相似问题