PHP 3, PHP 4, PHP 5. https:// depuis PHP 4.3.0
http://example.com
http://example.com/file.php?var1=val1&var2=val2
http://user:motdepasse@example.com
https://example.com
https://example.com/file.php?var1=val1&var2=val2
https://user:motdepasse@example.com
Permet des accès en lecture uniquement, pour des fichiers accessibles sur le réseau avec la méthode GET de HTTP 1.0. Un en-tête Host: est envoyé avec la requête, pour gérer les hôtes virtuels, basés sur des noms. Si vous avez configuré une version de navigateur avec l'option user_agent dans votre fichier php.ini, ou via le contexte de flux, il sera aussi utilisé dans votre requête.
Avertissement |
Lorsque vous utilisez SSL, le serveur IIS de Microsoft violera le protocole en fermant la connexion sans envoyer l'indicateur close_notify. PHP le reportera en tant que "SSL: Fatal Protocol Error" quand vous arrivez à la fin des données. L'astuce est de baisser le niveau de la directive error_reporting pour ne pas inclure les warnings. A partir de PHP 4.3.7, le bogue est détecté automatiquement lors de l'ouverture du flux en utilisant https:// et supprimera cet avertissement pour vous. Si vous utilisez fsockopen() pour créer une socket ssl://, vous devez vous occuper vous même de supprimer l'erreur. |
Les redirections sont supportées depuis PHP 4.0.5; si vous utilisez une version plus ancienne, vous devrez ajouter vous-même les slash finaux dans vos URL. S'il est important de connaître l'URL de la ressource qui vous a fourni le document, une fois que toutes les redirections ont été suivies, vous devez analyser les en-têtes de réponses retournés par le flux.
Le flux donne l'accès au corps (body) de la ressource. Les en-têtes sont stockés dans la variable $http_response_header. Depuis PHP 4.3.0, les en-têtes sont aussi accessibles avec la fonction stream_get_meta_data().
Les connexions HTTP sont en lecture seule. Vous ne pouvez pas écrire dans des fichiers ouverts via le protocole HTTP.
Note : HTTPS est supporté depuis PHP 4.3, si vous avez compilé le support d'OpenSSL.
Tableau L-2. Résumé des gestionnaires
Attribut | Supporté |
---|---|
Limité par allow_url_fopen. | Oui |
Autorisé en lecture | Oui |
Autorisé en écriture | Non |
Autorisé en ajout | Non |
Autorise les lectures / écritures simultanées | Non applicable |
Supporte stat() | Non |
Supporte unlink() | Non |
Supporte rename() | Non |
Supporte mkdir() | Non |
Supporte rmdir() | Non |
Tableau L-3. Options de contextes (depuis PHP 5.0.0)
Nom | Utilisation | Par défaut |
---|---|---|
method | GET, POST, ou une autre méthode HTTP acceptée apr le serveur distant. | GET |
header | Les autres en-têtes envoyés durant la requête. Les valeurs de cette option remplaceront les valeurs déjà configurées ( comme User-agent:, Host:, et Authentication:. | |
user_agent | Valeur à envoyer pour l'en-tête User-Agent:. Cette valeur sera utilisée si un type de navigateur n'est pas specifié dans l'option de contexte header ci-dessus. | Directive dans le php.ini : user_agent. |
content | D'autres données envoyées après les en-têtes. Typiquement, utilisé pour placer les requêtes POST ou PUT. | |
proxy | URI du serveur de proxy. (i.e. tcp://proxy.example.com:5100 ). | |
request_fulluri | Lorsque cette option vaut TRUE, l'URI entière sera utilisée lors de la construction de la rquête. (i.e. GET http://www.example.com/path/to/file.html HTTP/1.0). Même si ce n'est pas la méthode standard, certains proxies le requiert. | FALSE |
Options de contexte pour les sockets : Plusieurs options de contexte supplémentaires sont supportées par le gestionnaire de transport Pour les flux http://, voyez les options de contexte du transport tcp://. Pour les flux https://, voyez les options de contexte du transport ssl://.
Précédent | Sommaire | Suivant |
Liste des protocoles supportés | Niveau supérieur | FTP et FTPS |