欢迎访问WDPHP素材源码!今天是2024年04月20日 星期六,上午工作顺利吗?
您好,游客 [ 马上登录 | 注册帐号 | 微信登录 | QQ登录]
当前位置:首页 > 教程 > PHP教程 > 

PHP编程之发送POST请求的三种实现方法
栏目分类:PHP教程    发布日期:2019-06-15    浏览次数:4036次     收藏

一:curl方式post发送数据的实例函数代码:

function post($url, $post_data = '', $timeout = 5){
        $ch = curl_init();
        curl_setopt ($ch, CURLOPT_URL, $url);
        curl_setopt ($ch, CURLOPT_POST, 1);
        if($post_data != ''){
            curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
        }

        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
        curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        curl_setopt($ch, CURLOPT_HEADER, false);
        $file_contents = curl_exec($ch);
        curl_close($ch);
        return $file_contents;
}

二:file_get_contents方式post发送数据的实例函数代码:

function post2($url, $data){
        $postdata = http_build_query($data);
        $opts = array('http' =>
                      array(
                          'method'  => 'POST',
                          'header'  => 'Content-type: application/x-www-form-urlencoded',
                          'content' => $postdata
                      )
        );
        $context = stream_context_create($opts);
        $result = file_get_contents($url, false, $context);
        return $result;
}

三:fscock方式post发送数据的实例函数代码:

function post3($host,$path,$query,$others=''){
        $post="POST $path HTTP/1.1\r\nHost: $host\r\n";
        $post.="Content-type: application/x-www-form-urlencoded";
        $post.="urlencoded\r\n${others}";
        $post.="User-Agent: Mozilla 4.0\r\nContent-length: ";
        $post.=strlen($query)."\r\nConnection: close\r\n\r\n$query";
        $h=fsockopen($host,80);
        fwrite($h,$post);
        for($a=0,$r='';!$a;){
                $b=fread($h,8192);
                $r.=$b;
                $a=(($b=='')?1:0);
            }
        fclose($h);
        return $r;
    }
}

相关热词: PHP编程POST请求

源码 模板 特效 素材 资源 教程 站长