在我们写php文件的时候,有时需要跨域请求文件;
那么我们在PHP文件中如何模拟GET/POST请求呢?
GET请求就是在访问URL的时候加上参数即可,我们首先使用http_build_query方法将数组转化为url参数,然后使用file_get_contents获取内容即可。
get.php
<?php
echo "GET responses are:<hr/>";
echo "<pre>";
var_dump($_GET);
echo "</pre>";
test.php
<?php
$data = array(
'name'=>'zhezhao',
'age'=>'23'
);
$query = http_build_query($data);
$url = 'http://localhost/get.php';//这里一定要写完整的服务页面地址,否则php程序不会运行
$result = file_get_contents($url.'?'.$query);
echo $result;
post.php
<?php
echo "POST responses are:<hr/>";
echo "<pre>";
var_dump($_POST);
echo "</pre>";
test.php
<?php
$data = array(
'name'=>'zhezhao',
'age'=>23
);
$query = http_build_query($data);
$options['http'] = array(
'timeout'=>60,
'method' => 'POST',
'header' => 'Content-type:application/x-www-form-urlencoded',
'content' => $query
);
$url = "http://localhost/post.php";
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
echo $result;
?>
本文为冯奎原创文章,转载无需和我联系,但请注明来自冯奎博客fengkui.net
最新评论