【发布时间】:2017-06-27 03:31:48
【问题描述】:
我正在发出“GET”请求以从 URL 中获取会话 ID,然后应该发送带有所需表单数据的“POST”请求,结果应该返回 html 正文,但事实并非如此。我根本没有 JS 经验,并试图自己做一些事情,但无法弄清楚出了什么问题......我能够从 POST 请求中打印出标题,但正文仍然是空的(并且似乎挂起)
还尝试使用抛出 socket hang up 错误的 requests 模块。
var querystring = require('querystring');
var http = require('http');
var conn_cookie;
var uri = "my_url.com";
var options_get = {
host: uri,
path: '/index.php',
headers: {
"User-Agent": "Request"
}
};
var postData = querystring.stringify({
cert_num: "xxx",
car_num: "yyy",
answer: "0"
});
var options_post = {
host: uri,
method: 'POST',
path: '/index.php',
headers: {
"User-Agent": "Request",
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': Buffer.byteLength(postData)
}
};
var post_req = http.request(options_post, function(res) {
console.log("POST STATUS: " + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
res.setEncoding('utf8');
// Nothing is happening here !!
res.on('data', function (chunk) {
console.log('Response: ' + chunk);
});
});
post_req.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
http.get(options_get, function(res) {
conn_cookie = res.headers['set-cookie'];
if (res.statusCode === 200) {
//options_post['headers']['set-cookie'] = conn_cookie;
console.log("SENDING POST DATA");
post_req.write(postData);
post_req.end();
}
}).on('error', function(e) {
console.log("Got error: " + e.message);
});
【问题讨论】:
-
使用 request nodejs 的 npm 模块有一种简单的方法
-
@IndraniSen 嗯,我收到
socket hang up错误...可能是什么问题?标题? -
添加这个
post_req.write('{"string": "Hello, World"}'); post_req.end();post_req.end() 将有助于停止sock hangup 错误
标签: javascript node.js request