Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

http-context-options(3) [php man page]

HTTP-CONTEXT-OPTIONS(3) 						 1						   HTTP-CONTEXT-OPTIONS(3)

HTTP context options - HTTP context option listing

	Context options for http:// and https:// transports.

	      o $method
		string - GET, POST, or any other HTTP method supported by the remote server.  Defaults to GET.

	      o $header
		string	-  Additional  headers	to  be sent during request. Values in this option will override other values (such as User-agent:,
		Host:, and Authentication:).

	      o $user_agent
		string - Value to send with User-Agent: header. This value will only be used if user-agent is not specified in the header  context
		option above.  By default the user_agent php.ini setting is used.

	      o $content
		string - Additional data to be sent after the headers. Typically used with POST or PUT requests.

	      o $proxy
		string - URI specifying address of proxy server. (e.g.	tcp://proxy.example.com:5100).

	      o $request_fulluri
		boolean  -  When  set  to  TRUE,  the  entire  URI  will  be  used  when  constructing	the  request.  (i.e.  GET http://www.exam-
		ple.com/path/to/file.html HTTP/1.0). While this is a non-standard request format, some proxy  servers  require	it.   Defaults	to
		FALSE.

	      o $follow_location
		integer - Follow Location header redirects. Set to 0 to disable.  Defaults to 1.

	      o $max_redirects
		integer - The max number of redirects to follow. Value 1 or less means that no redirects are followed.	Defaults to 20.

	      o $protocol_version
		float - HTTP protocol version.	Defaults to 1.0.

	      Note

		      PHP prior to 5.3.0 does not implement chunked transfer decoding. If this value is set to 1.1 it is your responsibility to be
		     1.1 compliant.

	      o $timeout
		float - Read timeout in seconds, specified by a float (e.g.  10.5).  By default  the  default_socket_timeout  php.ini  setting	is
		used.

	      o $ignore_errors
		boolean - Fetch the content even on failure status codes.  Defaults to FALSE.

       +--------+---------------------------------------------------+
       |Version |						    |
       |	|						    |
       |	|		     Description		    |
       |	|						    |
       +--------+---------------------------------------------------+
       | 5.3.4	|						    |
       |	|						    |
       |	|	       Added $follow_location.		    |
       |	|						    |
       | 5.3.0	|						    |
       |	|						    |
       |	|  The	$protocol_version supports chunked transfer |
       |	| decoding when set to 1.1.			    |
       |	|						    |
       |5.2.10	|						    |
       |	|						    |
       |	|		Added $ignore_errors.		    |
       |	|						    |
       |5.2.10	|						    |
       |	|						    |
       |	|  The $header can now be  an  numerically  indexed |
       |	| array.					    |
       |	|						    |
       | 5.2.1	|						    |
       |	|						    |
       |	|		   Added $timeout.		    |
       |	|						    |
       | 5.1.0	|						    |
       |	|						    |
       |	|     Added HTTPS proxying through HTTP proxies.    |
       |	|						    |
       | 5.1.0	|						    |
       |	|						    |
       |	|		Added $max_redirects.		    |
       |	|						    |
       | 5.1.0	|						    |
       |	|						    |
       |	|	       Added $protocol_version. 	    |
       |	|						    |
       +--------+---------------------------------------------------+
       Example #1

	      Fetch a page and send POST data

	      <?php

	      $postdata = http_build_query(
		  array(
		      'var1' => 'some content',
		      'var2' => 'doh'
		  )
	      );

	      $opts = array('http' =>
		  array(
		      'method'	=> 'POST',
		      'header'	=> 'Content-type: application/x-www-form-urlencoded',
		      'content' => $postdata
		  )
	      );

	      $context = stream_context_create($opts);

	      $result = file_get_contents('http://example.com/submit.php', false, $context);

	      ?>

       Example #2

	      Ignore redirects but fetch headers and content

	      <?php

	      $url = "http://www.example.org/header.php";

	      $opts = array('http' =>
		  array(
		      'method' => 'GET',
		      'max_redirects' => '0',
		      'ignore_errors' => '1'
		  )
	      );

	      $context = stream_context_create($opts);
	      $stream = fopen($url, 'r', false, $context);

	      // header information as well as meta data
	      // about the stream
	      var_dump(stream_get_meta_data($stream));

	      // actual data at $url
	      var_dump(stream_get_contents($stream));
	      fclose($stream);
	      ?>

       Note

	      Underlying socket stream context options

	       Additional  context  options  may  be  supported  by the underlying transport For http:// streams, refer to context options for the
	      tcp:// transport. For https:// streams, refer to context options for the ssl:// transport.

       Note

	      HTTP status line

	       When this stream wrapper follows a redirect, the wrapper_data returned by stream_get_meta_data(3) might not necessarily contain the
	      HTTP status line that actually applies to the content data at index 0.

	      array (
		'wrapper_data' =>
		array (
		  0 => 'HTTP/1.0 301 Moved Permantenly',
		  1 => 'Cache-Control: no-cache',
		  2 => 'Connection: close',
		  3 => 'Location: http://example.com/foo.jpg',
		  4 => 'HTTP/1.1 200 OK',
		  ...

	       The  first  request  returned  a  301  (permanent redirect), so the stream wrapper automatically followed the redirect to get a 200
	      response (index = 4).

       "http://", "Socket context options", "SSL context options".

PHP Documentation Group 												   HTTP-CONTEXT-OPTIONS(3)
Man Page