PHP利用file_get_contents发送http请求

服务器端模拟 POST/GET 等请求,使用 CURL 很容易办到,那么如果不使用 CURL 库,又该怎么办呢?

$data = array(
‘test’=>’bar’,
‘baz’=>’boom’,
‘site’=>’www.nimip.com’,
‘name’=>’nimip.com’);

$data = http_build_query($data);

//$postdata = http_build_query($data);
$options = array(
‘http’ => array(
‘method’ => ‘POST’,
‘header’ => ‘Content-type:application/x-www-form-urlencoded’,
‘content’ => $data
‘timeout’ => 60 // 超时时间(单位:s)
)
);

$url = “http://www.nimip.com”;
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);

echo $result;

http://www.nimip.com的代码为:

$data = $_POST;
print_r( $data );
stream_context_create() 作用:创建并返回一个文本数据流并应用各种选项,可用于fopen(),file_get_contents()等过程的超时设置、代理服务器、请求方式、头信息设置的特殊过程。

Posted in PHP