Пишу файловый веб сервер на Node.js (Windows). Возникла необходимость скриптов, я выбрал php. Разобрался с выполнением скрипта, передачей GET, но меня интересует как передавать POST данные (обычные и form-data)? Использую php-cgi.exe (Через другие не понял как передавать GET). Пробовал через stdin, но данные не появляются даже в php://input. =̶=̶=̶=̶= код PHP Код (PHP): <?php echo file_get_contents("php://input","r"); //string(0) "" ?> =̶=̶=̶=̶= код Node.js Код (PHP): var exec = require('child_process'); ... //extractGET(string) - достает GET //path - путь к скрипту console.log("Exec: ./php/php-cgi.exe "+path+" "+extractGET(request.url)); var php = exec.spawn("./php/php-cgi.exe",[path,extractGET(request.url)]); var stdout=""; php.stdin.end(post); php.stdout.on("data",function(data){ stdout+=data; }); php.on("exit",function(){ var temp = stdout.toString().split('\r\n\r\n'); //Отделяем заголовки от тела var temp2 = temp.split('\r\n') var headers={}; for(key in temp2){ headers[temp2.split(': ')]=temp2.split(': '); } response.writeHead(200,headers); response.end(temp); }); ...
бро, для оформления кода используй тэги внизу. Ты так старался оформить код как надо а ведь готовое есть на форуме
Ты даже, блин, не пробовал. Код (PHP): var exec = require('child_process'); ... //extractGET(string) - достает GET //path - путь к скрипту console.log("Exec: ./php/php-cgi.exe "+path+" "+extractGET(request.url)); var php = exec.spawn("./php/php-cgi.exe",[path,extractGET(request.url)]); var stdout=""; php.stdin.end(post); php.stdout.on("data",function(data){ stdout+=data; }); php.on("exit",function(){ var temp = stdout.toString().split('\r\n\r\n'); //Отделяем заголовки от тела var temp2 = temp[0].split('\r\n') var headers={}; for(key in temp2){ headers[temp2[key].split(': ')[0]]=temp2[key].split(': ')[1]; } response.writeHead(200,headers); response.end(temp[1]); }); ... Ставь =php, сработает и для JS.
А какой параметр? Я пробовал js и javascript Понял. И для JS тоже php. Логично. Добавлено спустя 2 минуты 46 секунд: А по теме?