`
jickcai
  • 浏览: 238891 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CURL POST请求

    博客分类:
  • php
PHP 
阅读更多

 

/**
     * 提交POST请求,curl方法
     * @param string  $url       请求url地址
     * @param array   $data      POST数据
     * @param array   $header    头信息
     * @param int     $timeout   超时时间
     * @return array             请求结果,
     */
    private function _curl_post($url, $data = array(), $header = array(), $timeout = 5)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        $info = curl_exec($ch);
        curl_close($ch);
        return $info;
    }

    /**
     * 提交GET请求,curl方法
     * @param string  $url       请求url地址
     * @param mixed   $data      GET数据,数组或类似id=1&k1=v1
     * @param array   $header    头信息
     * @param int     $timeout   超时时间
     * @return array             请求结果,
     */
    private function _curl_get($url, $data = array(), $header = array(), $timeout = 5)
    {
        $url =  $url.'?'.http_build_query($data);
          $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        curl_setopt($ch, CURLOPT_POST, 0);
        $info = curl_exec($ch);
        curl_close($ch);
        return $info;
    }

 

 CURL的一个执行示例:

<?php

$item = array();

$item['key'] = 'abc';

$item['id'] = 'aaa';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://www.baidu.com/api/user.php');

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $item);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$msg = curl_exec($ch);

curl_close($ch);

?>

 

 

    /**

     * 调用 CURL POST

     */ 

    private function _do_curl_post($url , $data)

    {

$ch = curl_init();

   curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$info = curl_exec($ch);

curl_close($ch);

        $info = json_decode($info,true);

        return $info;

    }

    /**

     * 调用 CURL GET

     */ 

    private function _do_curl_get($url , $data)

    {

        $url =  $url.'?'.http_build_query($data);

   $ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$info = curl_exec($ch);

curl_close($ch);

        $info = json_decode($info,true);

        return $info;

    }

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics