<?php
我們提供的服務有:成都網站制作、成都網站設計、微信公眾號開發、網站優化、網站認證、武隆ssl等。為成百上千家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的武隆網站制作公司
class PostCurl extends AbstractCurl {
/**
* 調用父構造方法
*
*/
public function __construct() {
parent::__construct();
}
/**
* 實現cURL主體的抽象方法
*
* @param array $para
*
* @return void
*/
protected function _cUrl($para = array()) {
curl_setopt($this->_ch, CURLOPT_POST, true);
curl_setopt($this->_ch, CURLOPT_POSTFIELDS, $para['data']);
}
}
/**
* cURL抽象類
*
*/
/**
* cURL抽象類
*
*/
abstract class AbstractCurl {
/**
* cURL資源
*
* @var resource
*/
protected $_ch = null;
/**
* URL地址
*
* @var string
*/
protected $_url = '';
/**
* 是否啟用SSL模式
*
* @var boolean
*/
protected $_ssl = false;
/**
* 初始化cURL資源
*
*/
protected function __construct() {
$this->_ch = curl_init();
}
/**
* cURL抽象方法,處理POST、GET、PUT(暫不提供)
*
* @param array $para
*/
abstract protected function _cUrl($para = array());
/**
* 發送socket連接
*
* @param string $url
* @param array $para
* @param boolean $return
*
* @return mix [void|string]
*/
private function _socket($url, $para, $return) {
$this->_setUrl($url);
/*
* 強制轉換為boolean類型,這里不使用(boolean)與settype
*/
if (false === isset($para['header'])) {
$para['header'] = false;
} else {
$para['header'] = true;
}
curl_setopt($this->_ch, CURLOPT_HEADER, $para['header']);
curl_setopt($this->_ch, CURLOPT_TIMEOUT, 10);
/*
* 處理302
*/
if (false === isset($para['location'])) {
$para['location'] = false;
} else {
$para['location'] = true;
}
curl_setopt($this->_ch, CURLOPT_FOLLOWLOCATION, $para['location']);
unset($para['location']);
if(!empty($para['cookieFile'])){
if (false === isset($para['cookieFile'])) {
curl_setopt($this->_ch, CURLOPT_COOKIEFILE, $para['cookieFile'][0]);
curl_setopt($this->_ch, CURLOPT_COOKIEJAR, $para['cookieFile'][0]);
}
}
/*
* exec執行結果是否保存到變量中
*/
if (true === $return) {
curl_setopt($this->_ch, CURLOPT_RETURNTRANSFER, true);
}
/*
* 是否啟用SSL驗證
*/
if (true === $this->_ssl) {
curl_setopt($this->_ch, CURLOPT_SSL_VERIFYHOST, true);
}
/*
* 調用子類處理方法
*/
$this->_cUrl($para);
$result = curl_exec($this->_ch);
$apiStatus = curl_getinfo($this->_ch);
if(isset($apiStatus['http_code']) && 200 == $apiStatus['http_code']) {
if (true === $return) {
curl_close($this->_ch);
return $result;
}
} elseif(isset($apiStatus['http_code']) && 404 == $apiStatus['http_code']) {
curl_close($this->_ch);
return false;
} else {
curl_close($this->_ch);
return false;
}
}
/**
* 初始化URL
*
* @param string $url
*
* @return boolean [true成功 | false失敗]
*/
private function _setUrl($url) {
$this->_url = $url;
/*
* 以下代碼在PHP > 5.3有效
*/
if (false !== strstr($this->_url, 'https://', true)) {
$this->_ssl = true;
}
return curl_setopt($this->_ch, CURLOPT_URL, $this->_url);
}
/**************************公共接口***********************/
/**
* 發起通信請求接口
*
* @param string $url
* @param array $para
* @param boolean $return
*
* @return string
*/
final public function socket($url, $para = array(), $return = true) {
if(!empty($this->_ch)){
$this->_ch = curl_init();
}
return $this->_socket($url, $para, $return);
}
}
網站題目:phpcurl使用詳解
當前路徑:http://vcdvsql.cn/article4/iiphoe.html
成都網站建設公司_創新互聯,為您提供品牌網站制作、搜索引擎優化、虛擬主機、網站內鏈、企業網站制作、網站改版
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯