Opciones de contexto y parámetros
PHP Manual

Opciones de contexto de HTTP

Opciones de contexto de HTTPLista de opciones de contexto de HTTP

Descripción

Opciones de contexto para los transportes http:// y https://.

Opciones

method string

GET, POST, o cualquier otro método HTTP que soporte el servidor remoto.

Por omisión GET.

header string

Cabeceras adicionales que se envían en la petición. Los valores de esta opción sobrescribirán otros valores (como User-agent:, Host:, y Authentication:).

user_agent string

Valor que se envía con la cabecera User-Agent:. Sólo se utilizará este valor si no se especifica la opción de contexto header definida anteriormente.

Por omisión, en user_agent se utiliza el valor establecido en php.ini.

content string

Datos adicionales que se envían tras las cabeceras. Se utiliza típicamente en peticiones POST o PUT.

proxy string

URI que especifica la dirección de un servidor proxy. (p.ej. tcp://proxy.example.com:5100).

request_fulluri boolean

Si vale TRUE, al construir la petición se utilizará toda la URI (es decir GET http://www.example.com/path/to/file.html HTTP/1.0). Pese a no ser una petición estándar, algunos servidores proxy podrían requerirlo así.

Por omisión es FALSE.

max_redirects integer

Número máximo de redirecciones que se pueden seguir. Un valor igual o menor que 1 impide seguir redirecciones.

Por omisión vale 20.

protocol_version float

Versión del protocolo HTTP.

Por omisión vale 1.0.

Note:

La decodificación de transferencias fragmentadas no está implementada en versiones de PHP inferiores a 5.3.0. Si se asigna 1.1 como valor, es responsabilidad del usuario comprobar que sea compatible con 1.1.

timeout float

Tiempo en segundos de expiración en la lectura, especificándolo como tipo float (p.ej. 10.5).

Por omisión, se utiliza el valor default_socket_timeout de php.ini.

ignore_errors boolean

Obtener el contenido, incluso si hay códigos de error.

Por omisión, FALSE

Historial de cambios

Versión Descripción
5.3.0 Ahora protocol_version soporta decodificación de transferencias fragmentadas cuando se fija a 1.1.
5.2.10 Añadido ignore_errors.
5.2.10 Ahora header puede ser un array con índices numéricos.
5.2.1 Añadido timeout.
5.1.0 Añadido navegación por HTTPS en proxies HTTP.
5.1.0 Añadido max_redirects.
5.1.0 Añadido protocol_version.

Ejemplos

Example #1 Capturación de una página y envío de datos POST

<?php

$postdata 
http_build_query(
    array(
        
'var1' => 'some content',
        
'var2' => 'doh'
    
)
);

$opts = array('http' =>
    array(
        
'method'  => 'POST',
        
'header'  => 'Content-type: application/x-www-form-urlencoded',
        
'content' => $postdata
    
)
);

$context  stream_context_create($opts);

$result file_get_contents('http://example.com/submit.php'false$context);

?>

Example #2 Ignorar redirecciones y capturar cabeceras y contenido

<?php

$url 
"http://www.example.org/header.php";

$opts = array(
       
'http' => array('method' => 'GET',
                                       
'max_redirects' => '0',
                                       
'ignore_errors' => '1')
       );

$context stream_context_create($opts);
$stream fopen($url'r'false$context);

// información de las cabeceras y metainformación
// del flujo de datos
var_dump(stream_get_meta_data($stream));

// datos reales de $url
var_dump(stream_get_contents($stream));
fclose($stream);
?>

Notas

Note: Opciones de contexto en el flujo socket subyacente
Pueden utilizarse opciones de contexto adicionales gracias al transporte subyacente Fara flujos http://, deben revisarse las opciones de contexto del transporte tcp://. Para flujos https://, deben revisarse las opciones de contexto del transporte ssl://.

Ver también


Opciones de contexto y parámetros
PHP Manual