HTTP context options
HTTP context options — HTTP context option listing
说明
Context options for http:// and https://transports.
可选项
method string
GET, POST, orany other HTTP method supported by the remote server.
Defaults to GET.
header string
Additional headers to be sent during request. Valuesin this option will override other values (such as User-agent:, Host:,and Authentication:).
user_agent string
Value to send with User-Agent: header. This value willonly be used if user-agent is not specifiedin the header context option above.
By default the user_agent php.ini setting is used.
content string
Additional data to be sent after the headers. Typically usedwith POST or PUT requests.
proxy string
URI specifying address of proxy server. (e.g. tcp://proxy.example.com:5100).
request_fulluri boolean
When set to TRUE, the entire URI will be used whenconstructing the request. (i.e. GET http://www.example.com/path/to/file.html HTTP/1.0).While this is a non-standard request format, someproxy servers require it.
Defaults to FALSE.
follow_location integer
Follow Location header redirects. Set to 0 to disable.
Defaults to 1.
max_redirects integer
The max number of redirects to follow. Value 1 orless means that no redirects are followed.
Defaults to 20.
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 yourresponsibility to be 1.1 compliant.
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.
ignore_errors boolean
Fetch the content even on failure status codes.
Defaults to FALSE.
更新日志
版本
说明
5.3.4 Added follow_location.
5.3.0 The protocol_version supports chunked transferdecoding 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 transportFor http:// streams, refer to contextoptions for the tcp:// transport. For https:// streams, refer to context optionsfor the ssl:// transport.
Note: HTTP status line
When this stream wrapper follows a redirect, the wrapper_data returned by stream_get_meta_data() might not necessarily containthe 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
发表评论 取消回复