<?php
$oCurl = curl_init( mb_substr( $sPath, 0, 4 ) == 'http' ? $sPath : 'https://qiwi.com/'.$sPath );
# Настройки cURL :
curl_setopt_array( $oCurl, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_COOKIEJAR => $this->sCookieFile,
CURLOPT_COOKIEFILE => $this->sCookieFile,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0',
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_HTTPHEADER => mb_substr( $sPath, 0, 4 ) == 'http' ? (is_null( $mPOST ) ? array( 'Accept: application/json, text/javascript, */*; q=0.01', 'X-Requested-With: XMLHttpRequest' ) : array( 'Content-Type: application/json; charset=UTF-8' )) : array( 'Accept: application/json, text/javascript, */*; q=0.01', 'X-Requested-With: XMLHttpRequest' ),
) );
# Если требуется отправить POST - запрос :
if( is_array( $mPOST ) || $mPOST != '' || mb_substr( $sPath, 0, 4 ) != 'http' ) {
# Настройки Curl подключения :
curl_setopt_array( $oCurl, array(
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => is_array( $mPOST ) ? http_build_query( $mPOST ) : $mPOST,
) );
}
# Если существует реферер :
if( !is_null( $sReferer ) )
curl_setopt( $oCurl, CURLOPT_REFERER, $sReferer );
# Если требуется указать дополнительные настройки :
if( is_array( $aOptions ) && count( $aOptions ) )
curl_setopt_array( $oCurl, $aOptions );
# Получение ответа :
$this->sResponse = curl_exec( $oCurl );
# Если произошла ошибка :
if( curl_errno( $oCurl ) )
throw new Exception( curl_errno( $oCurl ).' - '.curl_error( $oCurl ) );
# Закрываем соединение :
curl_close( $oCurl );
# Сохраняем страницу referer :
$sReferer = mb_substr( $sPath, 0, 4 ) == 'http' ? $sPath : 'https://qiwi.com/'.$sPath;
# Преобразование ответа в массив :
$this->aResponse = json_decode( $this->sResponse, true );
if( json_last_error() != JSON_ERROR_NONE )
$this->aResponse = array();
return $this->sResponse;
preferences:
53.74 ms | 402 KiB | 5 Q