<?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";
}
}
}