首页 > 其他 > 详细

使用stream_context_create()模拟POST/GET请求的方法

时间:2017-08-14 10:57:19      阅读:239      评论:0      收藏:0      [点我收藏+]

  有时候,我们需要在服务器端模拟 POST/GET 等请求,也就是在 PHP 程序中去实现模拟。

  或者说,在 PHP 程序里,给你一个数组,如何将这个数组 POST/GET 到另外一个地址呢?当然,使用 CURL 很容易办到,那么如果不使用 CURL 库,又该怎么办呢?其实,在 PHP 里已经有相关的函数实现了,这个函数就是接下来要讲的 stream_context_create()。代码如下:

$data = array(
    foo=>bar, 
    baz=>boom, 
    site=>localhost, 
    name=>nowa magic); 
$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 * 60 // 超时时间(单位:s)
    )
);
$url = "http://localhost/test2.php";
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
echo $result;

http://localhost/test2.php 的代码为:

$data = $_POST;
echo <pre>;
print_r( $data );
echo </pre>;

运行结果为:

Array
(
  [foo] => bar
  [baz] => boom
  [site] => localhost
  [name] => nowa magic
)

使用stream_context_create()模拟POST/GET请求的方法

原文:http://www.cnblogs.com/liujiaq/p/7356487.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!