mirror of
https://github.com/YGGverse/YGGtracker.git
synced 2025-01-24 21:54:22 +00:00
add curl library
This commit is contained in:
parent
64693f7774
commit
19b721d441
96
src/library/curl.php
Normal file
96
src/library/curl.php
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class Curl
|
||||||
|
{
|
||||||
|
private $_connection;
|
||||||
|
private $_response;
|
||||||
|
|
||||||
|
public function __construct(string $url,
|
||||||
|
array $post = [],
|
||||||
|
string $userAgent = 'YGGtracker',
|
||||||
|
int $connectTimeout = 10,
|
||||||
|
bool $header = false,
|
||||||
|
bool $followLocation = false,
|
||||||
|
int $maxRedirects = 10,
|
||||||
|
bool $sslVerifyHost = false,
|
||||||
|
bool $sslVerifyPeer = false)
|
||||||
|
{
|
||||||
|
$this->_connection = curl_init($url);
|
||||||
|
|
||||||
|
if (!empty($post))
|
||||||
|
{
|
||||||
|
curl_setopt($this->_connection, CURLOPT_POST, true);
|
||||||
|
curl_setopt($this->_connection, CURLOPT_POSTFIELDS, $post);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($header) {
|
||||||
|
curl_setopt($this->_connection, CURLOPT_HEADER, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($followLocation) {
|
||||||
|
curl_setopt($this->_connection, CURLOPT_FOLLOWLOCATION, true);
|
||||||
|
curl_setopt($this->_connection, CURLOPT_MAXREDIRS, $maxRedirects);
|
||||||
|
}
|
||||||
|
|
||||||
|
curl_setopt($this->_connection, CURLOPT_RETURNTRANSFER, true);
|
||||||
|
curl_setopt($this->_connection, CURLOPT_CONNECTTIMEOUT, $connectTimeout);
|
||||||
|
curl_setopt($this->_connection, CURLOPT_TIMEOUT, $connectTimeout);
|
||||||
|
curl_setopt($this->_connection, CURLOPT_SSL_VERIFYHOST, $sslVerifyHost);
|
||||||
|
curl_setopt($this->_connection, CURLOPT_SSL_VERIFYPEER, $sslVerifyPeer);
|
||||||
|
|
||||||
|
if ($userAgent)
|
||||||
|
{
|
||||||
|
curl_setopt($this->_connection, CURLOPT_USERAGENT, $userAgent);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->_response = curl_exec($this->_connection);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function __destruct()
|
||||||
|
{
|
||||||
|
curl_close($this->_connection);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getError()
|
||||||
|
{
|
||||||
|
if (curl_errno($this->_connection))
|
||||||
|
{
|
||||||
|
return curl_errno($this->_connection);
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCode()
|
||||||
|
{
|
||||||
|
return curl_getinfo($this->_connection, CURLINFO_HTTP_CODE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getContentType()
|
||||||
|
{
|
||||||
|
return curl_getinfo($this->_connection, CURLINFO_CONTENT_TYPE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getSizeDownload()
|
||||||
|
{
|
||||||
|
return curl_getinfo($this->_connection, CURLINFO_SIZE_DOWNLOAD);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getSizeRequest()
|
||||||
|
{
|
||||||
|
return curl_getinfo($this->_connection, CURLINFO_REQUEST_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getTotalTime()
|
||||||
|
{
|
||||||
|
return curl_getinfo($this->_connection, CURLINFO_TOTAL_TIME_T);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getResponse()
|
||||||
|
{
|
||||||
|
return $this->_response;
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user