Files
doc-fr/language/wrappers/http.xml
2021-12-06 12:32:03 +00:00

193 lines
5.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: ebb0c383f4b954438eb72002ef4b84edd67d32ca Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="wrappers.http" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" role="noversion">
<refnamediv>
<refname>http://</refname>
<refname>https://</refname>
<refpurpose>Accès aux URLs HTTP(s)</refpurpose>
</refnamediv>
<refsect1 role="description"><!-- {{{ -->
&reftitle.description;
<para>
Permet des accès, en lecture seule, à des fichiers accessibles via HTTP.
Par défaut, une requête HTTP 1.0 GET est utilisé.
Un en-tête <literal>Host:</literal> 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 <link linkend="ini.user-agent">user_agent</link> dans votre
fichier &php.ini; ou via le contexte de flux, elle sera aussi
incluse dans votre requête.
</para>
<simpara>
Le flux permet d'accéder au corps (<emphasis>body</emphasis>)
de la ressource. Les en-têtes sont stockés dans la variable
<varname>$http_response_header</varname>.
</simpara>
<simpara>
Si vous avez besoin de connaitre l'URL de la ressource
depuis laquelle votre document provient (après l'exécution
de toutes les redirections), vous devrez analyser la série
d'en-têtes retournés par le flux.
</simpara>
<simpara>
La directive <link linkend="ini.from">from</link> sera utilisée pour
l'en-tête <literal>From:</literal> si elle a été définie, et non écrasée
par les <xref linkend="context" />.
</simpara>
</refsect1><!-- }}} -->
<refsect1 role="usage"> <!-- {{{ -->
&reftitle.usage;
<itemizedlist>
<listitem><simpara><filename>http://example.com</filename></simpara></listitem>
<listitem><simpara><filename>http://example.com/fichier.php?var1=val1&amp;var2=val2</filename></simpara></listitem>
<listitem><simpara><filename>http://user:password@example.com</filename></simpara></listitem>
<listitem><simpara><filename>https://example.com</filename></simpara></listitem>
<listitem><simpara><filename>https://example.com/fichier.php?var1=val1&amp;var2=val2</filename></simpara></listitem>
<listitem><simpara><filename>https://user:password@example.com</filename></simpara></listitem>
</itemizedlist>
</refsect1> <!-- }}} -->
<refsect1 role="options"><!-- {{{ -->
&reftitle.options;
<para>
<table>
<title>Résumé du gestionnaire</title>
<tgroup cols="2">
<thead>
<row>
<entry>Attribut</entry>
<entry>Supporté</entry>
</row>
</thead>
<tbody>
<row>
<entry>Restreint par <link linkend="ini.allow-url-fopen">allow_url_fopen</link></entry>
<entry>Oui</entry>
</row>
<row>
<entry>Autorise la lecture</entry>
<entry>Oui</entry>
</row>
<row>
<entry>Autorise l'écriture</entry>
<entry>Non</entry>
</row>
<row>
<entry>Autorise l'ajout</entry>
<entry>Non</entry>
</row>
<row>
<entry>Autorise la lecture et l'écriture simultanément</entry>
<entry>N/A</entry>
</row>
<row>
<entry>Support de la fonction <function>stat</function></entry>
<entry>Non</entry>
</row>
<row>
<entry>Support de la fonction <function>unlink</function></entry>
<entry>Non</entry>
</row>
<row>
<entry>Support de la fonction <function>rename</function></entry>
<entry>Non</entry>
</row>
<row>
<entry>Support de la fonction <function>mkdir</function></entry>
<entry>Non</entry>
</row>
<row>
<entry>Support de la fonction <function>rmdir</function></entry>
<entry>Non</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</refsect1> <!-- }}} -->
<refsect1 role="examples"><!-- {{{ -->
&reftitle.examples;
<example xml:id="wrappers.http.example.basic"><!-- {{{ -->
<title>Détecte la dernière URL après des redirections</title>
<programlisting role="php">
<![CDATA[
<?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) {
/* Avons-nous été redirigés ? */
if (strtolower(substr($response, 0, 10)) == 'location: ') {
/* mise à jour de $url avec le chemin après redirection */
$url = substr($response, 10);
}
}
?>
]]>
</programlisting>
</example><!-- }}} -->
</refsect1><!-- }}} -->
<refsect1 role="notes"><!-- {{{ -->
&reftitle.notes;
<note>
<simpara>
HTTPS n'est supporté que si l'extension
<link linkend="book.openssl">openssl</link> est active.
</simpara>
</note>
<simpara>
Les connexions HTTP sont en lecture seule ; l'écriture de données
ou la copie de fichier vers une ressource HTTP ne sont pas supportés.
</simpara>
<simpara>
L'envoi de requêtes <emphasis>POST</emphasis> et <emphasis>PUT</emphasis>,
par exemple, peut être effectué à l'aide des
<link linkend="context.http">contextes HTTP</link>.
</simpara>
</refsect1><!-- }}} -->
<refsect1 role="seealso"><!-- {{{ -->
&reftitle.seealso;
<simplelist>
<member><xref linkend="context.http" /></member>
<member><varname>$http_response_header</varname></member>
<member><function>stream_get_meta_data</function></member>
</simplelist>
</refsect1><!-- }}} -->
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->