• File: RecargaAquiController.php
  • Full Path: /var/www/imalipartnersapi/app/Http/Controllers/RecargaAquiController.php
  • Date Modified: 02/07/2023 8:01 PM
  • File size: 7.22 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class RecargaAquiController extends Controller
{

    public function getVouchers()
    {

        $xml = '<?xml version="1.0" encoding="UTF-8"?>';
/*        $xml = '<?xml version="1.0" encoding="UTF-8"?><JAVADEMO><Question="Login-Anfrage"/></JAVADEMO>';*/
        $msg_length = strlen($xml);

        $withLength = pack( "Na{$msg_length}", $msg_length, $xml );
        $lngLen = strlen( $withLength );

//        return response()->json(['sentData' => $lngLen, 'reply' => $msg_length, $xml, $withLength]);

//        return response()->json("dcscsxs");

//        $host = '196.40.117.219';
//        $port = '65001';
//        $cert = '/aki/www_recargaki_co_mz.cer';
//        set_time_limit(0);


        $host    = "196.40.117.219";
        $port    = 65001;
//        $message = "Hello Server";
        $message = "000004test";
//        $message = "0 0 0 0 0 4test";
//        $message = "000004test";
//        echo "Message To server :".$message;

        $newsubject='=?UTF-8?B?'.base64_encode($message).'?=';

        $data2 = array(
            'voucher' => array(
                'rsp' => '.00',
                'vdesc' => 'DSTV',
                'vtype' => 'DSTV',
                'vcode' => 'DSTV01',
                'product' => array(
                    'prodtype' => 'HDPVRS20',
                    'prodamt' => '490',
                    'proddesc' => 'HDPVR Access Service'
                )
            )
        );



// create socket
        $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
// connect to server
        $result = socket_connect($socket, $host, $port) or die("Could not connect to server\n");
// send string to server


//        $data= json_decode(json_encode($data2), true);

//        socket_send($socket, $message, strlen($message), MSG_DONTROUTE) or die("Could not send data to server\n");
//
        socket_write($socket, $message, strlen($message)) or die("Could not send data to server\n");
//        socket_write($socket, ord($message), strlen($message)) or die("Could not send data to server\n");
//        socket_write($socket, $data, strlen($message)) or die("Could not send data to server\n");

// get server response
        $result = socket_read($socket, 1024) or die("Could not read server response\n");



//        echo "Reply From Server  :".$result;
//        return $result;
// close socket
        socket_close($socket);

        return response()->json(['sentData' => $message, 'reply' => chr($result)]);



//        $context = stream_context_create(array('ssl'=>array('local_cert'=> $cert,
//        )));
//
//        if ($fp = stream_socket_client('ssl://'.$host.':'.$port, $errno, $errstr, 30,
//            STREAM_CLIENT_CONNECT, $context)) {
//            fwrite($fp, "\n");
//            echo fread($fp,8192);
//            fclose($fp);
//        } else {
//            echo "ERROR: $errno - $errstr<br />\n";
//        }

//        $fp = stream_socket_client("http://196.40.117.219:65001", $errno, $errstr, 60);
//        if (!$fp) {
//            echo "$errstr ($errno)<br />\n";
//        } else {
//            fwrite($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n");
//            while (!feof($fp)) {
//                echo fgets($fp, 1024);
//            }
//            fclose($fp);
//        }


//        $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
//
//
//        // bind socket to port
//        $result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n");
//
//        // start listening for connections
//        $result = socket_listen($socket, 3) or die("Could not set up socket listener\n");
//
//        // accept incoming connections
//        // spawn another socket to handle communication
//        $spawn = socket_accept($socket) or die("Could not accept incoming connection\n");
//        // read client input
//        $input = socket_read($spawn, 1024) or die("Could not read input\n");
//        // clean up input string
//        $input = trim($input);
//        echo "Client Message : ".$input;
//         // reverse client input and send back
//        $output = strrev($input) . "\n";
//        socket_write($spawn, $output, strlen ($output)) or die("Could not write output\n");
//        // close sockets
//        socket_close($spawn);
//
//        socket_close($socket);



//        $service_port = 10;
//        $address = 'localhost';
//
//        $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP );
//        $result = socket_connect($socket, $address, $service_port);

        /*        $xml = '<?xml version="1.0" encoding="UTF-8"?><JAVADEMO><Question="Login-Anfrage"/></JAVADEMO>';*/
//        $msg_length = strlen($xml);
//
//        $withLength = pack( "Na{$msg_length}", $msg_length, $xml );
//        $lngLen = strlen( $withLength );

//        $send_bytes = socket_write( $socket, $withLength, $lngLen );

//        while ($out = socket_read($socket, 2048)) {
//            echo $out."<br />";
//        }
//
//        socket_close($socket);

    }

    public function secureSocket()
    {



//        return file_get_contents('/');
//        $cert ="/aki/www_recargaki_co_mz.pem";

//        $cert ='/aki/www_recargaki_co_mz.cer';
//        $cert = 'C:\Users\migue\Documents\GitHub\PaymentProject\payApi\public\aki\www_recargaki_co_mz.cer';

//        $cert = 'C:\Users\migue\Documents\GitHub\PaymentProject\payApi\public\aki\www_recargaki_co_mz.pem';

//        dd($cert);

        $host    = "196.40.117.219";
        $port    = 65001;

//        $cert = "E:\aki.pem";
//        $cert = "E:\KEYSTORE\myTrustStoreOriginal";
          $cert = "E:\KEYSTORE\ca.pem";
//          $localKey = "E:\KEYSTORE\key.pem";
//        $cert = "E:\guy.pem";
//        $cert = "E:\client.pem";
//        $cert = "C:\Users\migue\Documents\GitHub\PaymentProject\payApi\storage\guy.pem";
//        $localKey = "C:\Users\migue\Documents\GitHub\PaymentProject\payApi\storage\miguel.pem";
//        $cert = 'aki/www_recargaki_co_mz.cer';
//        $cert = 'aki.cer';

//        $cert = "C:\Users\migue\Documents\GitHub\PaymentProject\payApi\storage\guy.pem";



        $context = stream_context_create( array(
            'ssl'=>array(
                'local_cert'=> $cert,
//                'local_pk' => $localKey,
//                'peer_fingerprint'  => openssl_x509_fingerprint(file_get_contents('/aki/aki.cer')),
//                "cafile" => $localKey,
                'verify_peer' => true,
                'verify_peer_name' => false,
                'allow_self_signed' => true,
                'verify_depth' => 0
                )
        ) );

        if ($socket = stream_socket_client(
            'ssl://'.$host.':'.$port,
            $errno,
            $errstr,
            30,
            STREAM_CLIENT_CONNECT,
            $context)
        ) {
            fwrite($socket, "000004test \n", strlen('000004test'));
            echo fread($socket, 8192);
            fclose($socket);
        } else {
            echo "ERROR: $errno - $errstr\n";
        }

    }
}