Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php namespace Concurrent\Network; use Concurrent\Task; require_once __DIR__ . '..

Decoded Output download

<?php 
 
namespace Concurrent\Network; 
 
use Concurrent\Task; 
 
require_once __DIR__ . '/dns.php'; 
 
$tls = ($_SERVER['argv'][1] ?? null) ? new TlsClientEncryption() : null; 
 
if ($tls) { 
    $tls = $tls->withAlpnProtocols('foo/bar', 'http/1.1'); 
} 
 
$socket = TcpSocket::connect('httpbin.org', $tls ? 443 : 80, $tls); 
 
try { 
    var_dump($socket->getAddress(), $socket->getPort());
    var_dump($socket->getRemoteAddress(), $socket->getRemotePort());
    var_dump($socket->isAlive());

    var_dump($socket->setOption(TcpSocket::NODELAY, true));

    if ($tls) {
        var_dump($socket->encrypt());
    }
 
    // IS: async $socket->write("GET /json HTTP/1.0\r\nHost: httpbin.org\r\nConnection: close\r\n\r\n");
    Task::async([
        $socket,
        'write'
    ], "GET /json HTTP/1.0\r\nHost: httpbin.org\r\n"); 
     
    $x = Task::async([ 
        $socket, 
        'write' 
    ], "Connection: close\r\n\r\n"); 
     
    var_dump($x); 
    
    var_dump($socket->getWriteQueueSize()); 
    var_dump(Task::await($x)); 
     
    while (null !== ($chunk = $socket->read())) { 
        var_dump($chunk); 
    } 
     
    var_dump($socket->isAlive()); 
} finally { 
    $socket->close(); 
} 
 
var_dump($socket->isAlive()); 
 ?>

Did this file decode correctly?

Original Code

<?php

namespace Concurrent\Network;

use Concurrent\Task;

require_once __DIR__ . '/dns.php';

$tls = ($_SERVER['argv'][1] ?? null) ? new TlsClientEncryption() : null;

if ($tls) {
    $tls = $tls->withAlpnProtocols('foo/bar', 'http/1.1');
}

$socket = TcpSocket::connect('httpbin.org', $tls ? 443 : 80, $tls);

try {
    var_dump($socket->getAddress(), $socket->getPort());
    var_dump($socket->getRemoteAddress(), $socket->getRemotePort());
    var_dump($socket->isAlive());

    var_dump($socket->setOption(TcpSocket::NODELAY, true));

    if ($tls) {
        var_dump($socket->encrypt());
    }

    // IS: async $socket->write("GET /json HTTP/1.0\r\nHost: httpbin.org\r\nConnection: close\r\n\r\n");
    Task::async([
        $socket,
        'write'
    ], "GET /json HTTP/1.0\r\nHost: httpbin.org\r\n");
    
    $x = Task::async([
        $socket,
        'write'
    ], "Connection: close\r\n\r\n");
    
    var_dump($x);
    
    var_dump($socket->getWriteQueueSize());
    var_dump(Task::await($x));
    
    while (null !== ($chunk = $socket->read())) {
        var_dump($chunk);
    }
    
    var_dump($socket->isAlive());
} finally {
    $socket->close();
}

var_dump($socket->isAlive());

Function Calls

None

Variables

None

Stats

MD5 02dd01255ce3072e306fb0a53b0025c8
Eval Count 0
Decode Time 120 ms