http://

https://

http:// -- https://Acessando URLs HTTP(s)

Descrição

Permite acesso somente leitura a arquivos/recursos via HTTP. Por padrão um GET HTTP 1.0 é usado. Um cabeçalho Host: é enviado com a requisição para lidar com hosts virtuais baseados em nomes. Se estiver configurado uma string user_agent no arquivo php.ini ou no contexto do fluxo, ele também será incluído na requisição.

O fluxo permite acesso ao corpo do recurso; os cabeçalhos são armazenados na variável $http_response_header.

Se for importante conhecer o URL do recurso de onde o documento se originou (depois de todos os redirecionamentos processados), será necessário processar a série de cabeçalhos de resposta retornados pelo fluxo.

A diretiva from será usada para o cabeçalho From: se definida e não sobrescrita pelo Opções e parâmetros de contexto.

Uso

  • http://example.com
  • http://example.com/arquivo.php?var1=val1&var2=val2
  • http://usuario:[email protected]
  • https://example.com
  • https://example.com/arquivo.php?var1=val1&var2=val2
  • https://usuario:[email protected]

Opções

Sumário do Empacotador
Atributo Suportado
Restrito por allow_url_fopen Sim
Permite Leitura Sim
Permite Escrita Não
Permite Adição Não
Permite Leitura e Escrita Simultâneas N/A
Suporta stat() Não
Suporta unlink() Não
Suporta rename() Não
Suporta mkdir() Não
Suporta rmdir() Não

Exemplos

Example #1 Detectando a qual se chegou depois de todos os redirecionamentos

<?php
$url = 'http://www.example.com/redirecting_page.php';

$fp = fopen($url, 'r');

$meta_data = stream_get_meta_data($fp);
foreach ($meta_data['wrapper_data'] as $response) {

    /* Fomos redirecionados? */
    if (strtolower(substr($response, 0, 10)) == 'location: ') {

        /* atualiza $url para onde fomos redirecionados */
        $url = substr($response, 10);
    }

}

?>

Notas

Note: HTTPS só é suportado quando a extensão openssl estiver habilitada.

Conexões HTTP são somente leitura; escrever dados ou copiar arquivos para um recurso HTTP não é suportado.

Enviar requisições POST e PUT, por exemplo, pode ser feito com a ajuda de Contextos HTTP.

Veja Também