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:password@example.com
- https://example.com
- https://example.com/file.php?var1=val1&var2=val2
- https://user:password@example.com
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.
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), 0, 10) == 'location: ') {
/* aktualizuj $url s tym, kam sme boli presmerovany */
$url = substr($odozva, 10);
}
}
?>
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.
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 |
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.