php 中 file_get_content 模拟post数据

发布时间:2019-09-28编辑:脚本学堂
我们知道,在php中用file_get_content来get数据很简单,直接把URL参数放在URL中就可以了,但是POST呢?

我们知道,在php中用file_get_content来get数据很简单,直接把URL参数放在URL中就可以了,但是POST呢?

文件1:index.php 用来检测是否有post数据。
 

复制代码 代码如下:
<?php 
    if($_POST['a'] && $_POST['b']) { 
        echo 'post data success!'; 
        exit(); 
    } 
?>

文件2:indexx.php 主要测试文件。
 

复制代码 代码如下:
<?php 
    $url = 'http://www.test.com/index.php'; 
    $data = array( 
        'a' => '1', 
        'b' => '2WWW' 
    ); 
    $params = array( 
            'http' => array( 
            'method'  => 'POST', 
            'header'  => "Content-type:application/x-www-form-urlencoded",  
            'content' => http_build_query($data), 
        )); 
    for($i=0;$i<3;$i++){ 
        $response = file_get_contents($url, false, stream_context_create($params)); 
        if ($response) { 
            echo $response; 
            break
        } else { 
            echo 'tring ' . $i . ' failed!<br />'; 
        } 
    } 
?>

得到结果:
post data success!
数据成功被Post。