<?php
我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、武隆ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的武隆網(wǎng)站制作公司
class PostCurl extends AbstractCurl {
/**
* 調(diào)用父構(gòu)造方法
*
*/
public function __construct() {
parent::__construct();
}
/**
* 實(shí)現(xiàn)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抽象類(lèi)
*
*/
/**
* cURL抽象類(lèi)
*
*/
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());
/**
* 發(fā)送socket連接
*
* @param string $url
* @param array $para
* @param boolean $return
*
* @return mix [void|string]
*/
private function _socket($url, $para, $return) {
$this->_setUrl($url);
/*
* 強(qiáng)制轉(zhuǎn)換為boolean類(lèi)型,這里不使用(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執(zhí)行結(jié)果是否保存到變量中
*/
if (true === $return) {
curl_setopt($this->_ch, CURLOPT_RETURNTRANSFER, true);
}
/*
* 是否啟用SSL驗(yàn)證
*/
if (true === $this->_ssl) {
curl_setopt($this->_ch, CURLOPT_SSL_VERIFYHOST, true);
}
/*
* 調(diào)用子類(lèi)處理方法
*/
$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);
}
/**************************公共接口***********************/
/**
* 發(fā)起通信請(qǐng)求接口
*
* @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);
}
}
網(wǎng)站題目:phpcurl使用詳解
當(dāng)前路徑:http://jinyejixie.com/article4/iiphoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、搜索引擎優(yōu)化、虛擬主機(jī)、網(wǎng)站內(nèi)鏈、企業(yè)網(wǎng)站制作、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)