RESTful cURL class.
More...
|
| __construct ($settings=array()) |
| Curl constructor.
|
|
| cleanopt () |
| Reset http method.
|
|
| delete ($url, $param=array(), $options=array()) |
| HTTP DELETE method.
|
|
| download ($requests, $options=array()) |
| Download multiple files in parallel.
|
|
| download_one ($url, $params, $options=array()) |
| Downloads one file and writes it to the specified file handler.
|
|
| get ($url, $params=array(), $options=array()) |
| HTTP GET method.
|
|
| get_errno () |
| Get curl error code.
|
|
| get_info () |
| Get curl information.
|
|
| get_raw_response () |
| Get raw HTTP Response Headers.
|
|
| get_security () |
| Returns the current curl security helper.
|
|
| getResponse () |
| Get HTTP Response Headers.
|
|
| head ($url, $options=array()) |
| HTTP HEAD method.
|
|
| options ($url, $options=array()) |
| HTTP OPTIONS method.
|
|
| patch ($url, $params='', $options=array()) |
| HTTP PATCH method.
|
|
| post ($url, $params='', $options=array()) |
| HTTP POST method.
|
|
| put ($url, $params=array(), $options=array()) |
| HTTP PUT method.
|
|
| resetcookie () |
| Reset Cookie.
|
|
| resetHeader () |
| Resets the HTTP Request headers (to prepare for the new request)
|
|
| resetopt () |
| Resets the CURL options that have already been set.
|
|
| set_security ($securityobject) |
| Sets the curl security helper.
|
|
| setHeader ($header) |
| Set HTTP Request Header.
|
|
| setopt ($options=array()) |
| Set curl options.
|
|
| trace ($url, $options=array()) |
| HTTP TRACE method.
|
|
|
static | get_cacert () |
| Get the location of ca certificates.
|
|
static | mock_response ($response) |
| For use only in unit tests - we can pre-set the next curl response.
|
|
static | strip_double_headers ($input) |
| When using a proxy, an additional HTTP response code may appear at the start of the header.
|
|
|
array | $_tmp_file_post_params = [] |
| temporary params value if the value is not belongs to class stored_file.
|
|
curl_cache false | $cache = false |
| Caches http request contents.
|
|
bool | $emulateredirects = null |
| Perform redirects at PHP level instead of relying on native cURL functionality.
|
|
int | $errno |
| error code
|
|
string | $error |
| error
|
|
array | $header = array() |
| http header
|
|
array | $info |
| cURL information
|
|
bool | $proxy = null |
| Uses proxy, null means automatic based on URL.
|
|
array | $rawresponse = array() |
| Raw response headers, needed for BC in download_file_content().
|
|
array | $response = array() |
| http's response
|
|
string | $version = '0.4 dev' |
| library version
|
|
RESTful cURL class.
This is a wrapper class for curl, it is quite easy to use: $c = new curl; // enable cache $c = new curl(array('cache'=>true)); // enable cookie $c = new curl(array('cookie'=>true)); // enable proxy $c = new curl(array('proxy'=>true));
// HTTP GET Method $html = $c->get('http://example.com'); // HTTP POST Method $html = $c->post('http://example.com/', array('q'=>'words', 'name'=>'moodle')); // HTTP PUT Method $html = $c->put('http://example.com/', array('file'=>'/var/www/test.txt');
- Copyright
- Dongsheng Cai dongs.nosp@m.heng.nosp@m.@mood.nosp@m.le.c.nosp@m.om
- License
- http://www.gnu.org/copyleft/gpl.html GNU Public License
◆ __construct()
curl::__construct |
( |
| $settings = array() | ) |
|
Curl constructor.
Allowed settings are: proxy: (bool) use proxy server, null means autodetect non-local from url debug: (bool) use debug output cookie: (string) path to cookie file, false if none cache: (bool) use cache module_cache: (string) type of cache securityhelper: (core\files\curl_security_helper_base) helper object providing URL checking for requests. ignoresecurity: (bool) set true to override and ignore the security helper when making requests.
- Parameters
-
◆ check_securityhelper_blocklist()
curl::check_securityhelper_blocklist |
( |
string | $url | ) |
|
|
protected |
check_securityhelper_blocklist.
Checks whether the given URL is blocked by checking both plugin's security helpers and core curl security helper or any curl security helper that passed to curl class constructor. If ignoresecurity is set to true, skip checking and consider the url is not blocked. This augments all installed plugin's security helpers if there is any.
- Parameters
-
string | $url | the url to check. |
- Return values
-
string | - an error message if URL is blocked or null if URL is not blocked. |
◆ delete()
curl::delete |
( |
| $url, |
|
|
| $param = array(), |
|
|
| $options = array() ) |
HTTP DELETE method.
- Parameters
-
string | $url | |
array | $param | |
array | $options | |
- Return values
-
◆ download()
curl::download |
( |
| $requests, |
|
|
| $options = array() ) |
Download multiple files in parallel.
Calls multi() with specific download headers
$c = new curl(); $file1 = fopen('a', 'wb'); $file2 = fopen('b', 'wb'); $c->download(array( array('url'=>'http://localhost/', 'file'=>$file1), array('url'=>'http://localhost/20/', 'file'=>$file2) )); fclose($file1); fclose($file2);
or
$c = new curl(); $c->download(array( array('url'=>'http://localhost/', 'filepath'=>'/tmp/file1.tmp'), array('url'=>'http://localhost/20/', 'filepath'=>'/tmp/file2.tmp') ));
- Parameters
-
array | $requests | An array of files to request { url => url to download the file [required] file => file handler, or filepath => file path } If 'file' and 'filepath' parameters are both specified in one request, the open file handle in the 'file' parameter will take precedence and 'filepath' will be ignored. |
array | $options | An array of options to set |
- Return values
-
◆ download_one()
curl::download_one |
( |
| $url, |
|
|
| $params, |
|
|
| $options = array() ) |
Downloads one file and writes it to the specified file handler.
$c = new curl(); $file = fopen('savepath', 'w'); $result = $c->download_one('http://localhost/', null, array('file' => $file, 'timeout' => 5, 'followlocation' => true, 'maxredirs' => 3)); fclose($file); $download_info = $c->get_info(); if ($result === true) { // file downloaded successfully } else { $error_text = $result; $error_code = $c->get_errno(); }
$c = new curl(); $result = $c->download_one('http://localhost/', null, array('filepath' => 'savepath', 'timeout' => 5, 'followlocation' => true, 'maxredirs' => 3)); // ... see above, no need to close handle and remove file if unsuccessful
- Parameters
-
string | $url | |
array | null | $params | key-value pairs to be added to $url as query string |
array | $options | request options. Must include either 'file' or 'filepath' |
- Return values
-
bool|string | true on success or error string on failure |
◆ get()
curl::get |
( |
| $url, |
|
|
| $params = array(), |
|
|
| $options = array() ) |
HTTP GET method.
- Parameters
-
string | $url | |
array | $params | |
array | $options | |
- Return values
-
◆ get_cacert()
static curl::get_cacert |
( |
| ) |
|
|
static |
Get the location of ca certificates.
- Return values
-
string | absolute file path or empty if default used |
◆ get_errno()
Get curl error code.
- Return values
-
◆ get_info()
Get curl information.
- Return values
-
◆ get_raw_response()
curl::get_raw_response |
( |
| ) |
|
Get raw HTTP Response Headers.
- Return values
-
◆ get_security()
Returns the current curl security helper.
- Return values
-
◆ getResponse()
Get HTTP Response Headers.
- Return values
-
◆ head()
curl::head |
( |
| $url, |
|
|
| $options = array() ) |
HTTP HEAD method.
- See also
- request()
- Parameters
-
- Return values
-
◆ mock_response()
static curl::mock_response |
( |
| $response | ) |
|
|
static |
For use only in unit tests - we can pre-set the next curl response.
This is useful for unit testing APIs that call external systems.
- Parameters
-
◆ multi()
curl::multi |
( |
| $requests, |
|
|
| $options = array() ) |
|
protected |
Multi HTTP Requests This function could run multi-requests in parallel.
- Parameters
-
array | $requests | An array of files to request |
array | $options | An array of options to set |
- Return values
-
Reimplemented in oauth2_client.
◆ options()
curl::options |
( |
| $url, |
|
|
| $options = array() ) |
HTTP OPTIONS method.
- Parameters
-
- Return values
-
◆ patch()
curl::patch |
( |
| $url, |
|
|
| $params = '', |
|
|
| $options = array() ) |
HTTP PATCH method.
- Parameters
-
string | $url | |
array | string | $params | |
array | $options | |
- Return values
-
◆ post()
curl::post |
( |
| $url, |
|
|
| $params = '', |
|
|
| $options = array() ) |
HTTP POST method.
- Parameters
-
string | $url | |
array | string | $params | |
array | $options | |
- Return values
-
◆ put()
curl::put |
( |
| $url, |
|
|
| $params = array(), |
|
|
| $options = array() ) |
HTTP PUT method.
- Parameters
-
string | $url | |
array | $params | |
array | $options | |
- Return values
-
◆ request()
curl::request |
( |
| $url, |
|
|
| $options = array() ) |
|
protected |
Single HTTP Request.
- Parameters
-
string | $url | The URL to request |
array | $options | |
- Return values
-
◆ reset_request_state_vars()
curl::reset_request_state_vars |
( |
| ) |
|
|
protected |
Helper function to reset the request state vars.
- Return values
-
◆ set_security()
curl::set_security |
( |
| $securityobject | ) |
|
Sets the curl security helper.
- Parameters
-
- Return values
-
bool | true if the security helper could be set, false otherwise. |
◆ setHeader()
curl::setHeader |
( |
| $header | ) |
|
Set HTTP Request Header.
- Parameters
-
◆ setopt()
curl::setopt |
( |
| $options = array() | ) |
|
Set curl options.
Do not use the curl constants to define the options, pass a string corresponding to that constant. Ie. to set CURLOPT_MAXREDIRS, pass array('CURLOPT_MAXREDIRS' => 10) or array('maxredirs' => 10) to this method.
- Parameters
-
array | $options | If array is null, this function will reset the options to default value. |
- Return values
-
- Exceptions
-
◆ strip_double_headers()
static curl::strip_double_headers |
( |
| $input | ) |
|
|
static |
When using a proxy, an additional HTTP response code may appear at the start of the header.
For example, when using https over a proxy there may be 'HTTP/1.0 200 Connection Established'. Other codes are also possible and some may come with their own headers.
If using the return value containing all headers, this function can be called to remove unwanted doubles.
Note that it is not possible to distinguish this situation from valid data unless you know the actual response part (below the headers) will not be included in this string, or else will not 'look like' HTTP headers. As a result it is not safe to call this function for general data.
- Parameters
-
string | $input | Input HTTP response |
- Return values
-
string | HTTP response with additional headers stripped if any |
◆ trace()
curl::trace |
( |
| $url, |
|
|
| $options = array() ) |
HTTP TRACE method.
- Parameters
-
- Return values
-
◆ $emulateredirects
bool curl::$emulateredirects = null |
Perform redirects at PHP level instead of relying on native cURL functionality.
Always true now.
The documentation for this class was generated from the following file: