PHP中模拟GET/POST请求

在我们写php文件的时候,有时需要跨域请求文件;
那么我们在PHP文件中如何模拟GET/POST请求呢?
冯奎博客

模拟GET请求:

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请求:

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;
?>

冯奎博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论