使用PHP模拟GET/POST

在调试的时候比较常用到的东西,用来模拟用户提交给服务器的数据。使用了PHP的curl扩展来实现GET/POST。


<?php
        /**
          *  GET_by_curl
          *
          *  @param $remote_server 服务器地址
          *
          *  @return 返回GET到的数据
          */
        function GET_by_curl($remote_server)
        {
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $remote_server);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Safari/600.1.3");#这里的UA根据自己的需要改一下就好
                $data = curl_exec($ch);
                curl_close($ch);
                return $data;
        }

        /**
          *  POST_by_curl
          *
          *  @param $remote_server 服务器地址
          *  @param $post_string 向服务器POST的数据
          *
          *  @return 返回GET到的数据
          */
        function POST_by_curl($remote_server,$post_string)
        {
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $remote_server);
                curl_setopt($ch, CURLOPT_POSTFIELDS,$post_string);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Safari/600.1.3");#这里的UA根据自己的需要改一下就好
                $data = curl_exec($ch);
                curl_close($ch);
                return $data;
        }

        #GET的使用如下
        echo GET_by_curl("http://www.baidu.com");

        #POST的使用如下
        echo POST_by_curl("http://eaxmple.com/example.php","data=your_data&time=now");
?>

Leave a Reply

Your email address will not be published. Required fields are marked *

4 × two =