我现在有个test.js的文件定义如下:
var fs = require('fs');
var request = require('request');
var crypto = require('crypto');
var CRLF = "\r\n";
var md5 = crypto.createHash('md5');function multipartRequestBodyBuilder(fields, boundary) {
var requestBody = '';
for(var name in fields) {
var field = fields[name];
var data = field.data;
var fileName = field.fileName ? '; filename="' + field.fileName + '"' : '';
var type = field.type ? 'Content-Type:' + field.type + CRLF : '';
requestBody += "--" + boundary + CRLF +
"Content-Disposition: form-data; name=\"" + name + "\"" + fileName + CRLF +
type + CRLF +
data + CRLF;
}
requestBody += '--' + boundary + '--' + CRLF
return requestBody;
}function getBoundary() {
md5.update(new Date() + getRandomArbitrary(1, 65536));
return md5.digest('hex');
}function getRandomArbitrary(min, max) {
return Math.random() * (max - min) + min;
}
var notificationValue = {
"applicationId":"5",
"schemaId":"12",
"topicId":"1",
"type":"USER"
};
var postData = {
notification : {
data : JSON.stringify(notificationValue),
type : "application/json"
},
file : {
data : fs.readFileSync("D:\WAMP\www\kaa\notification.json"),
fileName : 'notification.json',
type : 'application/octet-stream'
}
};
var boundary = getBoundary();console.log("Created request body:\n");
console.log( multipartRequestBodyBuilder(postData, boundary));
console.log("\n");
var opts = {
url: 'http://135.252.37.213:8080/kaaAdmin/rest/api/sendNotification',
method: 'POST',
auth: { user: 'devuser', password: 'devuser123' },
headers: {
'content-type': 'multipart/form-data; boundary=' + boundary
},
body : multipartRequestBodyBuilder(postData, boundary)
};request(opts, function(err, resp, body) {
if(err) {
console.log("Error: " + err);
} else {
console.log("Satus code: " + resp.statusCode + "\n");
console.log("Result: " + body);
}
});如何的在另一个PHP文件中调用到这段代码?
多谢!另外,下面这几个语句需要什么特殊库吗?新手,不懂
var fs = require('fs');
var request = require('request');
var crypto = require('crypto');
var fs = require('fs');
var request = require('request');
var crypto = require('crypto');
var CRLF = "\r\n";
var md5 = crypto.createHash('md5');function multipartRequestBodyBuilder(fields, boundary) {
var requestBody = '';
for(var name in fields) {
var field = fields[name];
var data = field.data;
var fileName = field.fileName ? '; filename="' + field.fileName + '"' : '';
var type = field.type ? 'Content-Type:' + field.type + CRLF : '';
requestBody += "--" + boundary + CRLF +
"Content-Disposition: form-data; name=\"" + name + "\"" + fileName + CRLF +
type + CRLF +
data + CRLF;
}
requestBody += '--' + boundary + '--' + CRLF
return requestBody;
}function getBoundary() {
md5.update(new Date() + getRandomArbitrary(1, 65536));
return md5.digest('hex');
}function getRandomArbitrary(min, max) {
return Math.random() * (max - min) + min;
}
var notificationValue = {
"applicationId":"5",
"schemaId":"12",
"topicId":"1",
"type":"USER"
};
var postData = {
notification : {
data : JSON.stringify(notificationValue),
type : "application/json"
},
file : {
data : fs.readFileSync("D:\WAMP\www\kaa\notification.json"),
fileName : 'notification.json',
type : 'application/octet-stream'
}
};
var boundary = getBoundary();console.log("Created request body:\n");
console.log( multipartRequestBodyBuilder(postData, boundary));
console.log("\n");
var opts = {
url: 'http://135.252.37.213:8080/kaaAdmin/rest/api/sendNotification',
method: 'POST',
auth: { user: 'devuser', password: 'devuser123' },
headers: {
'content-type': 'multipart/form-data; boundary=' + boundary
},
body : multipartRequestBodyBuilder(postData, boundary)
};request(opts, function(err, resp, body) {
if(err) {
console.log("Error: " + err);
} else {
console.log("Satus code: " + resp.statusCode + "\n");
console.log("Result: " + body);
}
});如何的在另一个PHP文件中调用到这段代码?
多谢!另外,下面这几个语句需要什么特殊库吗?新手,不懂
var fs = require('fs');
var request = require('request');
var crypto = require('crypto');
var fs = require('fs');
var request = require('request');
var crypto = require('crypto');
这些就是要引入node.js的module,例如:http://www.cnblogs.com/meteoric_cry/archive/2012/08/18/2645530.htmlphp调用node.js的东西,最简单就是使用http协议调用。
或者使用thrift,但这个较复杂,参考:http://baike.baidu.com/link?url=0JYpA8psXFRjINjkdwL0CgDjpeE6PH76uY3qKC_tvDeIdyZAE3h5yoMvppdxd0xlAzNTyj8YhJhg74DUTfE6L_
"aaa": {
"1": {
"user_id": null,
"type_id": "3",}