Home >Backend Development >PHP Tutorial >PHP函数:stream_context_create()模拟POST/GET

PHP函数:stream_context_create()模拟POST/GET

WBOY
WBOYOriginal
2016-06-23 13:32:05899browse

有时候,我们需要在服务器端模拟 POST/GET 等请求,也就是在 PHP 程序中去实现模拟,改怎么做到呢?或者说,在 PHP 程序里,给你一个数组,如何将这个数组 POST/GET 到另外一个地址呢?当然,使用 CURL 很容易办到,那么如果不使用 CURL 库,又该怎么办呢?其实,在 PHP 里已经有相关的函数实现了,这个函数就是接下来要讲的 stream_context_create()。


直接 show you the code,这是最好的方法

<?php $data = array(	'foo'=>'bar', 	'baz'=>'boom', 	'site'=>'www.example.net', 	'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://127.0.0.1/test2.php";$context = stream_context_create($options);$result = file_get_contents($url, false, $context);echo $result;?>


test2.php 的代码为:

<?php $data = $_POST;echo '<pre class="brush:php;toolbar:false">';print_r( $data );echo '
';?>
运行结果为:

Array
(
    [foo] => bar
    [baz] => boom
    [site] => www.example.net
    [name] => nowa magic
)

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn