zoukankan      html  css  js  c++  java
  • 使用stream_context_create()模拟POST/GET请求的方法

      有时候,我们需要在服务器端模拟 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
    )
  • 相关阅读:
    Angular
    Angular
    Angular
    Angular
    Angular
    Angular
    Angular
    springsecurity 源码解读 之 RememberMeAuthenticationFilter
    springsecurity 源码解读之 AnonymousAuthenticationFilter
    springsecurity 源码解读之 SecurityContext
  • 原文地址:https://www.cnblogs.com/liujiaq/p/7356487.html
Copyright © 2011-2022 走看看