' . PHP_EOL); exit(1); } $loop = Factory::create(); $connector = new Connector($loop); if (!isset($parts['port'])) { $parts['port'] = $parts['scheme'] === 'https' ? 443 : 80; } $host = $parts['host']; if (($parts['scheme'] === 'http' && $parts['port'] !== 80) || ($parts['scheme'] === 'https' && $parts['port'] !== 443)) { $host .= ':' . $parts['port']; } $target = ($parts['scheme'] === 'https' ? 'tls' : 'tcp') . '://' . $parts['host'] . ':' . $parts['port']; $resource = isset($parts['path']) ? $parts['path'] : '/'; if (isset($parts['query'])) { $resource .= '?' . $parts['query']; } $stdout = new WritableResourceStream(STDOUT, $loop); $connector->connect($target)->then(function (ConnectionInterface $connection) use ($resource, $host, $stdout) { $connection->pipe($stdout); $connection->write("GET $resource HTTP/1.0\r\nHost: $host\r\n\r\n"); }, 'printf'); $loop->run();