一、使用GET方法
<?php
// Create a stream
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n"
)
);
$context = stream_context_create($opts);
$file = file_get_contents('http://www.yourhost.com/', false, $context);
?>
如果要送出參數,務必使用:http_build_query方法,如:
$data = array('foo'=>'bar',
'baz'=>'boom',
'cow'=>'milk',
'php'=>'hypertext processor');
$querystr = http_build_query($data);
二、使用POST方法
$data = array ('foo' => 'bar', 'bar' => 'baz');
$data = http_build_query($data);
$context_options = array (
'http' => array (
'method' => 'POST',
'header'=> "Content-type: application/x-www-form-urlencoded\r\n"
. "Content-Length: " . strlen($data) . "\r\n",
'content' => $data
)
);
$context = context_create_stream($context_options)
三、重點提示
http_build_query會對參數值進行urlencode,接收端的$_GET或$_REQUEST會自動進行urldecode;
如果發送請求時沒有進行或者隻對部分參數進行urlencode,接收代碼$_REQUEST可能不會進行自動urldecode解碼。