我一直在努力发送POST请求并使用Node.js取回数据
我一直在尝试这样的
var querystring = require('querystring');
var http = require('http');
var postData = querystring.stringify({
});
var options = {
hostname: 'www.google.com',
port: 80,
path: '/',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': postData.length
}
};
var req = http.request(options, function(res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
res.on('end', function() {
console.log('No more data in response.')
})
});
req.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
req.write(postData);
req.end();
但是我被postData
困住了,不知道会做什么。请帮我。如何填写网页表格,然后请求POST方法(在这种情况下,点击Google上的搜索按钮),然后获取数据?
答案 0 :(得分:0)
Google搜索在搜索时不使用POST方法,它使用GET方法。 您必须将方法更改为GET,删除postData并嵌入要在网址中发送的数据。
var options = {
hostname: 'www.google.com',
port: 80,
path: '/#q'+search_key, //search_key is term to be searched
method: 'GET'
};
或者你也可以这样使用
http.get("http://www.google.com/#q="+search_key, function(res) {
console.log("Got response: " + res.statusCode);
}).on('error', function(e) {
console.log("Got error: " + e.message);
});