как w fsockopen soap in express js - PullRequest
1 голос
/ 14 марта 2020

У меня есть этот код для данных вызовов из publi c IP-отпечаток пальца и номер коммуникатора, и это работает в php, мой код выглядит следующим образом,

public function getdata(){
$IP= "";
$Key= "";
if($IP!=""){
$Connect = fsockopen($IP, "80", $errno, $errstr, 1);
    if($Connect){
        $soap_request="<GetAttLog><ArgComKey xsi:type=\"xsd:integer\">".$Key."</ArgComKey><Arg><PIN xsi:type=\"xsd:integer\">All</PIN></Arg></GetAttLog>";
        $newLine="\r\n";
        fputs($Connect, "POST /iWsService HTTP/1.0".$newLine);
        fputs($Connect, "Content-Type: text/xml".$newLine);
        fputs($Connect, "Content-Length: ".strlen($soap_request).$newLine.$newLine);
        fputs($Connect, $soap_request.$newLine);
        $buffer="";
        while($Response=fgets($Connect, 1024)){
            $buffer=$buffer.$Response;
            // var_dump($buffer);
        }
        $buffer = Parse_Data($buffer,"<GetAttLogResponse>","</GetAttLogResponse>");
        $buffer = explode("\r\n",$buffer);
        $result = []; 
        for($a=1;$a<count($buffer);$a++){
            $data = Parse_Data($buffer[$a],"<Row>","</Row>");
            $PIN = Parse_Data($data,"<PIN>","</PIN>");
            $DateTime = Parse_Data($data,"<DateTime>","</DateTime>");
            $Verified = Parse_Data($data,"<Verified>","</Verified>");
            $Status = Parse_Data($data,"<Status>","</Status>");
            $ins = array(
                    "pin"       =>  $PIN,
                    "date_time" =>  $DateTime,
                    "ver"       =>  $Verified,
                    "status"    =>  $Status
                    );
            $result[$a] = $ins;
        }
        return $result;
    }

, и это результат когда я var_dump ($ buffer) в то время как: enter image description here

Я хочу изменить код с php на nodejs с expressjs рамки, кто-нибудь знает как изменить этот код на javascript?

Я пытался с этим кодом:

 var net = require('net');

 var socket = new net.Socket();
  socket.on('connect', function() {
  console.log('server now connect')
 });
 socket.on('data', function(data) {
  console.log('data from server:' + data);
 });

 socket.connect(PORT, 'IP');

но, застрял и не знаю, что делать, кто-нибудь может помочь? спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...