English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico PHP

Tutorial avançado PHP

PHP & MySQL

Manual de referência PHP

Uso e exemplo da função fsockopen() do PHP

PHP HTTP  Referência Manual

A função fsockopen() abre uma conexão de rede ou uma conexão de soquete Unix.

Sintaxe

resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout")]]]] )

Definição e uso

Usado para abrir conexões de soquete de domínio Internet ou Unix.

Inicializar uma conexão de soquete conectada ao host especificado (hostname).
O PHP suporta a seguinte lista de tipos de transportadores de soquete: Lista de transportadores de soquete (Socket Transports) suportados. Também pode obter os tipos de suporte de transportadores de soquete usando stream_get_transports().
Padrãomente, a conexão de soquete será aberta em modo bloqueante. Claro, você pode convertê-lo para modo não-bloqueado usando stream_set_blocking().
stream_socket_client() é muito semelhante e oferece configurações de parâmetros mais ricas, incluindo modo não-bloqueado e configurações de contexto.

Retorno

 fsockopen() retornará um descritor de arquivo, que pode ser usado por outras funções de classe de arquivo (por exemplo: fgets(), fgetss(), fwrite(), fclose() e feof()). Se a chamada falhar, retornará FALSE.

Aviso: Se o hostname não for acessível, será lançado um erro de nível de aviso (E_WARNING).

Parâmetro

NúmeroParâmetros e descrições
1

hostname

Se o OpenSSL estiver instalado, você talvez precise adicionar o protocolo de acesso ssl: antes do endereço do nome do host.//ou tls://, então pode usar o TCP baseado:/O cliente de conexão SSL ou TLS do protocolo IP conecta-se ao host remoto.

2

port

Número da porta. Se passar um valor para esse parâmetro:-1Se não for especificado o número da porta, por exemplo unix://.

3

errno

Salve o número de erro de nível do sistema ocorrido na chamada de connect() de nível do sistema.

4

errstr

As informações de erro serão retornadas como uma string.

5

timeout

 Configure o limite de tempo da conexão, a unidade é segundo. 

Exemplo online

Experimente o exemplo a seguir

<?php
   $connection = fsockopen("pt.oldtoolbag.com", 80, $errno, $errstr, 30);
   
   if (!$connection) {
      echo "$errstr ($errno)
      \n";
   }else {
      $out = "GET / HTTP/1.1\r\n";
      $out .= "Host: pt.oldtoolbag.com\r\n";
      $out .= "Connection: Close\r\n\r\n";
      
      fwrite($connection, $out);
      
      while (!feof($connection)) {
         echo fgets($connection, 128);
      }
      fclose($connection);
   }
?>

A exemplo a seguir abre a conexão

PHP HTTP  Referência Manual