pollita Mon Mar 20 22:38:55 2006 UTC
Modified files:
/phpdoc/en/appendices wrappers.xml
Log:
Document user-agent's undocumented feature: Custom request headers
http://cvs.php.net/viewcvs.cgi/phpdoc/en/appendices/wrappers.xml?r1=1.58&r2=1.59&diff_format=u
Index: phpdoc/en/appendices/wrappers.xml
diff -u phpdoc/en/appendices/wrappers.xml:1.58
phpdoc/en/appendices/wrappers.xml:1.59
--- phpdoc/en/appendices/wrappers.xml:1.58 Tue Dec 6 14:33:50 2005
+++ phpdoc/en/appendices/wrappers.xml Mon Mar 20 22:38:55 2006
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.58 $ -->
+<!-- $Revision: 1.59 $ -->
<appendix id="wrappers">
<title>List of Supported Protocols/Wrappers</title>
<para>
@@ -365,6 +365,40 @@
for the <literal>ssl://</literal> transport.
</simpara>
</note>
+
+ <para>
+ Custom headers may be sent with an HTTP request prior to
+ version 5 by taking advantage of a side-effect in the
+ handling of the <literal>user_agent</literal> INI setting.
+ Set <literal>user_agent</literal> to any valid string
+ (such as the default <literal>PHP/version</literal> setting)
+ followed by a carriage-return/line-feed pair and any
+ additional headers.
+ This method works in PHP4 and all later versions.
+ </para>
+ <para>
+ <example>
+ <title>Sending custom headers with an HTTP request</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+ini_set('user_agent', "PHP\r\nX-MyCustomHeader: Foo");
+
+$fp = fopen('http://www.example.com/index.php', 'r');
+?>
+]]>
+ </programlisting>
+ <para>Results in the following request being sent:</para>
+ <screen>
+<![CDATA[
+GET /index.php HTTP/1.0
+Host: www.example.com
+User-Agent: PHP
+X-MyCustomHeader: Foo
+]]>
+ </screen>
+ </example>
+ </para>
</section>
<section id="wrappers.ftp">