Forum und email

HTTP a HTTPS

PHP 3, PHP 4, PHP 5. https:// od PHP 4.3.0

  • https://example.com
  • https://example.com/file.php?var1=val1&var2=val2
  • https://user:[email protected]
  • https://example.com
  • https://example.com/file.php?var1=val1&var2=val2
  • https://user:[email protected]

Umožňuje prístup iba na čítanie k súborom/zdrojom cez HTTP 1.0 použitím metódy HTTP GET. Hlavička Host: sa pošle s požiadavkou na zaistenie na mene založených virtuálnych hostov. Ak ste nakonfigurovali reťazec user_agent použitím vášho ini súboru alebo prúdového kontextu, taktiež sa zahrnie do požiadavky.

Warning

Pri používaní SSL, Microsoft IIS naruší protokol ukončením spojenia bez poslania indikátora notifikácie uzavrenia. PHP toto zahlási ako "SSL: Fatal Protocol Error", keď dosiahnete koniec dát. Aby ste sa tomu vyhli, mali by ste znížiť vašu error_reporting úroveň, aby nezahŕňala varovania. PHP 4.3.7 a vyššie dokážu detekovať chybový IIS server software pri otváraní prúdu pomocou https:// wrappera a potlačí varovanie namiesto vás. Ak používate fsockopen() pre tvorbu ssl:// soketu, tak ste zodpovedný za detekovanie a potlačenie varovania sami.

Uz PHP 4.0.5 podporuje presmerovania; ak používate predchádzajúce verzie, budete musieť zahrnúť vodiace lomítka do svojich URL adries. Ak je dôležité vedieť URL zdroja, od kiaľ váš dokument prišiel (po tom, čo boli spracované všetky presmerovania), budete potrebovať spracovať série hlavičiek odoziev vrátených prúdom.

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

$fp fopen($url'r');

/* V skorsich verziach nez PHP 4.3.0 pouzite $http_response_header 
   namiesto stream_get_meta_data() */
foreach(stream_get_meta_data($fp) as $odozva) {

  
/* Boli sme presmerovany? */
  
if (substr(strtolower($odozva), 010) == 'location: ') {
    
/* aktualizuj $url s tym, kam sme boli presmerovany */
    
$url substr($odozva10);
  }

}

?>

Prúd umožňuje prístup k telu zdroja; hlavičky sú uložené v premennej $http_response_header. Od PHP 4.3.0, hlavičky sú dostupné použitím stream_get_meta_data().

Pripojenia cez HTTP sú iba na čítanie; nemôžete zapisovať dáta alebo kopírovať súbory do HTTP zdroja.

Note: HTTPS podporovalo už PHP 4.3.0, ak ste kompilovali s podporou pre OpenSSL.

Zhrnutie Wrappera
Atribút Podporovaný
Obmedzený cez allow_url_fopen. Áno
Umožňuje Čítanie Áno
Umožňuje Zápis Nie
Umožňuje pridávanie Nie
Umožňuje Súbežné Čítanie a Zápis N/A
Podporuje stat() Nie
Podporuje unlink() Nie
Podporuje rename() Nie
Podporuje mkdir() Nie
Podporuje rmdir() Nie

Voľby kontextu (od PHP 5.0.0)
Názov Použitie Default
method GET alebo POST GET
header Ďalšie hlavičky na odoslanie počas požiadavky. Hodnoty v tejto voľbe anulujú ostatné hodnoty (ako User-agent:, Host: a Authentication:.  
user_agent Hodnoty na odoslanie s hlavičkou User-Agent:. Táto hodnota sa použije iba ak user_agent nie je určený v kontextovej voľbe header uvedenej vyššie. php.ini nastavenie: user_agent
obsah Ďalšie dáta na odoslanie po hlavičkách. Typicky sa používajú s požiadavkami POST alebo PUT.  
proxy URI určujúca adresu proxy servera. (napr. tcp://proxy.example.com:5100 ).  
request_fulluri Keď je nastavená na TRUE, celá URI bude použitá pri konštruovaní požiadavky. (napr. GET https://www.example.com/path/to/file.html HTTP/1.0). Zatialčo je toto neštandardný formát požiadavky, niektoré proxy servery ho vyžadujú. FALSE

Note: Podčiarkovanie soketového prúdu kontextových volieb Ďalšie kontextové voľby možu byť podporované podčiarkujúcim prenosom Pre https:// prúdy si pozrite kontextové voľby pre tcp:// prenos. Pre https:// prúdy si pozrite kontextové voľby pre ssl:// prenos.