php接口post提交方法 。

 

方法一,用 file_get_contents

function send_post($url, $post_data) {
    
        //$postdata = http_build_query($post_data);    //把数组转换成key=val&
        $options = array(
                'http' => array(
                        'method' => 'POST',
                        'header' => 'Content-type:application/x-www-form-urlencoded',
                        'content' => $post_data,
                        'timeout' => 2 * 60 // 超时时间(单位:s)
                )
        );
        $context = stream_context_create($options);
        $result = file_get_contents($url, false, $context);
    
        return $result;
    }

方法二、

 function send_post2($host,$port,$urlPage,$postData){
//         echo str_pad(" ", 256);
        
        $errno = '';
        $errstr = '';
    
        $length = strlen($postData);

        $fp = fsockopen($host,$port,$errno,$errstr,120) or exit($errstr."--->".$errno);
        //构 造post请求的头
        $header = "POST $urlPage HTTP/1.1\r\n";
        $header .= "Host:".$host."\r\n";
        $header .= "Referer:".$urlPage."\r\n";
        $header .= "Content-Type:application/x-www-form-urlencoded\r\n";
        $header .= "Content-Length:".$length."\r\n";
        $header .= "Connection:Close\r\n\r\n";
        //添加post的字符串
        $header .= $postData."\r\n";
        
//         echo "1";
//         my_flush();
        //发送post的数据
        fputs($fp, $header);
//         echo "2";
//         my_flush();
        $inheader = 1;
        $result = ""; //最终结果
        
        while (!feof($fp)){
            
            $line = fgets($fp,1024); // 去除请求包的头只显示页面 的返回数据  (注意fgets  fread($fp,1)最少2个字节起。)
            
//             echo $line;
//             my_flush();
            if($inheader && ($line == "\n" || $line == "\r\n"))
                $inheader = 0;
        
            if($inheader==0){
                
                $result .= $line;
                    
                
            }    
        }
        fclose($fp);
//         echo "3";
//         my_flush();
        return $result;
    
    }
    
    //刷新缓冲区
    function my_flush(){
        ob_flush();
        flush();
    }

 

调用示例、

$host = "127.0.0.1";
$urlPage = "http://localhost/admin/confirmCode.php";
$port = "80";
$postData = "AAobjid=33$&username1=fff";
echo send_post2($host,$port,$urlPage,$postData) ;
// echo send_post($urlPage,$postData);

 

转载于:https://www.cnblogs.com/longhs/p/4527260.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值