HTTP context ѡ��

HTTP context ѡ��HTTP context ��ѡ���б�

˵��

�ṩ�� http:// �� https:// ����Э��� context ѡ� transports.

��ѡ��

method string

Զ�̷�����֧�ֵ� GET��POST ������ HTTP ������

Ĭ��ֵ�� GET��

header string

�����ڼ䷢�͵Ķ��� header ���ڴ�ѡ���ֵ����������ֵ ������ User-agent:�� Host: �� Authentication:����

user_agent string

Ҫ���͵� header User-Agent: ��ֵ������������ header context ѡ����û��ָ�� user-agent����ֵ����ʹ�á�

Ĭ��ʹ�� php.ini �����õ� user_agent��

content string

�� header ����Ҫ���͵Ķ������ݡ�ͨ��ʹ��POST��PUT����

proxy string

URI ָ���Ĵ���������ĵ�ַ��(e.g. tcp://proxy.example.com:5100).

request_fulluri boolean

������Ϊ TRUE ʱ���ڹ�������ʱ��ʹ������ URI ��(i.e. GET http://www.example.com/path/to/file.html HTTP/1.0)�� ��Ȼ����һ���DZ�׼�������ʽ����ijЩ�����������Ҫ����

Ĭ��ֵ�� FALSE.

follow_location integer

���� Location header ���ض�������Ϊ 0 �Խ��á�

Ĭ��ֵ�� 1��

max_redirects integer

�����ض������������ֵΪ 1 ���������ζ�������ض���

Ĭ��ֵ�� 20��

protocol_version float

HTTP Э��汾��

Ĭ��ֵ�� 1.0��

Note:

PHP 5.3.0 ��ǰ�İ汾û��ʵ�ַֿ鴫����롣 �����ֵ����Ϊ 1.1 ���� 1.1 �ļ��ݽ���������Ρ�

timeout float

��ȡ��ʱʱ�䣬��λΪ�루s������ float ָ��(e.g. 10.5)��

Ĭ��ʹ�� php.ini �����õ� default_socket_timeout��

ignore_errors boolean

��ʹ�ǹ���״̬����Ȼ��ȡ���ݡ�

Ĭ��ֵΪ FALSE.

������־

�汾 ˵��
5.3.4 ��� follow_location��
5.3.0 �� protocol_version ����Ϊ 1.1 ʱ֧�ַֿ鴫����롣
5.2.10 ��� ignore_errors��
5.2.10 header ���ڿ�����һ������������ array��
5.2.1 ��� timeout��
5.1.0 Added HTTPS proxying through HTTP proxies. ��Ӿ��� HTTP ����� HTTPS ����
5.1.0 ��� max_redirects��
5.1.0 ��� protocol_version��

����

Example #1 ��ȡһ��ҳ�沢���� POST ����

<?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 �����ض��򲢻�ȡ header ������

<?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() 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).