예제 #1
0
 /**
  * Add Post
  *
  * @access public
  * @param  $url
  * @param  $data
  *
  * @return object
  */
 public function addPost($url, $data = array())
 {
     if (is_array($url)) {
         $data = $url;
         $url = $this->baseUrl;
     }
     $curl = new Curl();
     if (is_array($data) && empty($data)) {
         $curl->unsetHeader('Content-Length');
     }
     $curl->setURL($url);
     $curl->setOpt(CURLOPT_CUSTOMREQUEST, 'POST');
     $curl->setOpt(CURLOPT_POST, true);
     $curl->setOpt(CURLOPT_POSTFIELDS, $curl->buildPostData($data));
     $this->addHandle($curl);
     return $curl;
 }
예제 #2
0
 /**
  * Add Post
  *
  * @access public
  * @param  $url
  * @param  $data
  * @param  $follow_303_with_post
  *     If true, will cause 303 redirections to be followed using GET requests (default: false).
  *     Note: Redirections are only followed if the CURLOPT_FOLLOWLOCATION option is set to true.
  *
  * @return object
  */
 public function addPost($url, $data = array(), $follow_303_with_post = false)
 {
     if (is_array($url)) {
         $follow_303_with_post = (bool) $data;
         $data = $url;
         $url = $this->baseUrl;
     }
     $curl = new Curl();
     if (is_array($data) && empty($data)) {
         $curl->unsetHeader('Content-Length');
     }
     $curl->setURL($url);
     /*
      * For post-redirect-get requests, the CURLOPT_CUSTOMREQUEST option must not
      * be set, otherwise cURL will perform POST requests for redirections.
      */
     if (!$follow_303_with_post) {
         $curl->setOpt(CURLOPT_CUSTOMREQUEST, 'POST');
     }
     $curl->setOpt(CURLOPT_POST, true);
     $curl->setOpt(CURLOPT_POSTFIELDS, $curl->buildPostData($data));
     $this->queueHandle($curl);
     return $curl;
 }