【发布时间】:2015-12-03 00:47:32
【问题描述】:
我找到了这个网站http://www.mess.be/inickgenwuname.php
它允许你输入一个名字,它会生成一个随机的说唱歌手名字。我想在我的网站上有一个按钮来为您生成名称,所以我决定编写一些 javascript 来向该网站发送请求并解析响应以获取随机名称。
这是我编写的 node.js 代码。
function getRandomName() {
var http = require('http');
var data = {
realname:"something"
};
var querystring = require("querystring");
var qs = querystring.stringify(data);
var qslength = qs.length;
var options = {
hostname: "www.mess.be",
path: "/inickgenwuname.php",
method: 'POST',
headers:{
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': qslength
}
};
var str = "";
var req = http.request(options, function(res) {
res.on('data', function (chunk) {
str+=chunk;
});
res.on('end', function() {
var s = str.slice(str.indexOf("From this day forward, I will be known as... ") + "From this day forward, I will be known as... ".length,
str.indexOf("-And you"));
s = s.replace("\n", "").trim();
console.log(s);
});
});
req.write(qs);
req.end();
}
当我去网站并在chrome上按f12并检查代码时,我发现了这个小片段......
所以这就是我用来制定对 php.ini 的请求的内容。但是,我只是通过反复试验猜测需要发送的数据是键值对对象,其中键为realname。我的问题是,否则我怎么会知道这一点?有没有办法从网站上查到,通过 POST 发送的数据是从哪里接收的?
【问题讨论】:
-
您可能只需运行 cgi 十几次或两次即可获得形容词和名词,然后自己掷骰子,无需任何网络使用...
标签: javascript php node.js