Skip to content

iCalcreator/UrlRsrc

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

urlRsrc

fetch an URL (file) resource content

urlRsrc is a Curl wrapper and implements a (no-cache) http GET request.

Output is a URL resource result string.

Throws InvalidArgumentException/RuntimeException on error (also http code >= 400).

No cookie or return headers managent, works out-of-the-box

Usage
<?php
namespace Kigkonsult\Http;

include __DIR__ . '/vendor/autoload.php';

/**
 * @param string $url            the url (file) resource
 *                               for missning scheme 'http' is used
 * @param array  $urlArgs        opt, *( urlArgKey => value )
 *                               if not empty, appended to url
 * @param array  $curlOpts       opt, *( curlOptConstant => value )
 *                               overwrites default (below) key value if key exists
 *                               The keys should be valid curl_setopt() constants or their integer equivalents.
 * @param int    $sizeDownload   hold (byte-)size of downloaded resource
 * @param float  $time           hold operation exec time (in seconds)
 * @return string
 * @throws InvalidArgumentException
 * @throws RuntimeException
 */
$result = UrlRsrc::getContent( 'example.com' );
Curl options

Default Curl options are

* fail if HTTP return code >= 400
CURLOPT_FAILONERROR    => true,

* follow redirects
CURLOPT_FOLLOWLOCATION => true,

* use a NO-cached connection
CURLOPT_FRESH_CONNECT  => true,

* array of HTTP headers, default Accept everything
CURLOPT_HTTPHEADER     => [ 'Accept: */*' ],
* example : prefer html/xml...
*    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'

* get URL contents
CURLOPT_RETURNTRANSFER => true,

* max seconds to wait before connect timeout
CURLOPT_CONNECTTIMEOUT => 60,

* max seconds to wait before Curl execute timeout
CURLOPT_TIMEOUT        => 60,

* no check of common the names in the SSL peer certificate
CURLOPT_SSL_VERIFYHOST => 0,

Note

  • CURLOPT_SSL_VERIFYPEER is (auto-)set depending on URL scheme; https gives true else false
  • UrlRsrc is indended to work without other added Curl options but
    some URLs may require some

Opt certificate directives :

How to (opt) implement basic authentication :

  • CURLOPT_HTTPAUTH => CURLAUTH_BASIC
  • CURLOPT_USERPWD => sprintf( '%s:%s', $userName, $password )

CurlOpts argument array key value overwrites default (above) if key is set.

More info about Curl options at php.net.

Support

For support use github.com UrlRsrc. Non-emergence support issues are, unless sponsored, fixed in due time.

Sponsorship

Donation using paypal.me/kigkonsult are appreciated. For invoice, please e-mail.

Installation

Composer, from the Command Line:

composer require kigkonsult/urlrsrc:dev-master

Composer, in your composer.json:

{
    "require": {
        "kigkonsult/urlrsrc": "dev-master"
    }
}

Composer, acquire access

use Kigkonsult\Http;
...
include 'vendor/autoload.php';

Otherwise , download and acquire..

use Kigkonsult\Http\UrlRsrc;
...
include 'pathToSource/UrlRsrc/autoload.php';
License

This project is licensed under the LGPLv3 License

About

fetch an URL (file) resource result

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages