Download the PHP package ixudra/curl without Composer

On this page you can find all versions of the php package ixudra/curl. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package curl

ixudra/curl

Latest Version on Packagist [license]() Total Downloads

Ixudra Curl

Custom PHP cURL library for the Laravel framework - developed by Ixudra.

The package provides an easy interface for sending cURL requests from your PHP web application. The package provides an intuitive, fluent interface similar the Laravel query builder to easily configure the request. Additionally, There are several utility methods that allow you to easily add certain options to the request. This makes it easier to create and use cURL requests and also makes your code more comprehensible.

The provided functionality is completely framework-independent but also contains a Laravel service provider for easy integration into your Laravel project.

Note before posting an issue: When posting an issue for the package, always be sure to provide as much information regarding the request as possible. This includes the example cURL request you are trying to transfer into the package syntax, your actual package syntax (the full request) and (if possible) an example URL I can use to test the request myself if need be.

Installation

Pull this package in through Composer.

or run in terminal: composer require ixudra/curl

Laravel 5.5+ Integration

Laravel's package discovery will take care of integration for you.

Laravel 5.* Integration

Add the service provider to your config/app.php file:

Add the facade to your config/app.php file:

Laravel 4.* Integration

Add the service provider to your app/config/app.php file:

Add the facade to your app/config/app.php file:

Lumen 5.* integration

In your bootstrap/app.php, make sure you've un-commented the following line (around line 26):

Then, register your class alias:

Finally, you have to register your ServiceProvider (around line 70-80):

Integration without Laravel

Create a new instance of the CurlService where you would like to use the package:

Usage

Laravel usage

The package provides an easy interface for sending cURL requests from your application. The package provides a fluent interface similar the Laravel query builder to easily configure the request. There are several utility methods that allow you to easily add certain options to the request. If no utility method applies, you can also use the general withOption method.

Sending GET requests

In order to send a GET request, you need to use the get() method that is provided by the package:

Sending POST requests

Post requests work similar to GET requests, but use the post() method instead:

Sending PUT requests

Put requests work similar to POST requests, but use the put() method instead:

Sending PATCH requests

Patch requests work similar to POST requests, but use the patch() method instead:

Sending DELETE requests

Delete requests work similar to GET requests, but use the delete() method instead:

Sending HEAD requests

HEAD requests work similar to GET requests, but use the head() method instead:

Sending custom headers

Sending custom headers is easy with the withHeader() method. Multiple calls can be chained together to add multiple headers to the request:

Alternatively, you can use the withHeaders() to combine multiple headers into one method call:

You can also use key-value when using the withHeaders() method:

For (bearer) authorization headers, you can also use specific utility methods:

Note that headers will override each other if you add the same header more than once.

Specifying the content type

Sending custom headers is easy with the withContentType() method. Multiple calls can be chained together to add multiple headers to the request:

Using proxies

If you need to send your requests via a proxy, you can use the 'withProxy()' method. The method takes five parameters:

Optional parameters will be ignored if not filled in.

Sending files via Curl

For sending files via a POST request, you can use the withFile method to correctly format a request before sending:

You can add as many files to the request as you want. A couple of things to keep in mind:

Downloading files

For downloading a file, you can use the download() method:

Using response objects

By default, the package will only return the content of the request. In some cases, it might also be useful to know additional request information, such as the HTTP status code and error messages should they occur. In this case, you can use the returnResponseObject() method, which will return an stdClass that contains additional information as well as the response content:

The response object will look like this:

Response headers

In some cases it might be relevant to return the response headers back to the user. This can easily be done using the withResponseHeaders() method.

The response object will look like this:

It is important to note that the withResponseHeaders() method must be used in conjunction with the returnResponseObject() method in order to see the returned headers

Debugging requests

In case a request fails, it might be useful to get debug the request. In this case, you can use the enableDebug() method. This method uses one parameter, which is the name of the file in which the debug information is to be stored:

Using cURL options

You can add various cURL options to the request using of several utility methods such as withHeader() for adding a header to the request, or use the general withOption() method if no utility method applies. The package will automatically prepend the options with the CURLOPT_ prefix. It is worth noting that the package does not perform any validation on the cURL options. Additional information about available cURL options can be found here.

Method Default value Description
withTimeout() 30 seconds Set the timeout of the request (integer or float)
withConnectTimeout() 30 seconds Set the connect timeout of the request (integer or float)
allowRedirect() false Allow the request to be redirected internally
asJsonRequest() false Submit the request data as JSON
asJsonResponse() false Decode the response data from JSON
asJson() false Utility method to set both asJsonRequest() and asJsonResponse() at the same time
withHeader() string Add an HTTP header to the request
withHeaders() array Add multiple HTTP headers to the request
withContentType() none Set the content type of the response
withFile() none Add a file to the form data to be sent
containsFile() false Should be used to submit files through forms
withData() array Add an array of data to sent with the request (GET or POST)
setCookieFile() none Set a file to read cookies from
setCookieJar() none Set a file to store cookies in
withOption() none Generic method to add any cURL option to the request

For specific information regarding parameters and return types, I encourage you to take a look at ixudra\curl\src\Ixudra\Curl\Builder.php. This class has extensive doc blocks that contain all the necessary information for each specific method.

Usage without Laravel

Usage without Laravel is identical to usage described previously. The only difference is that you will not be able to use the facades to access the CurlService.

Planning

Support

Help me further develop and maintain this package by supporting me via Patreon!!

License

This package is open-sourced software licensed under the MIT license

Contact

For package questions, bug, suggestions and/or feature requests, please use the Github issue system and/or submit a pull request. When submitting an issue, always provide a detailed explanation of your problem, any response or feedback your get, log messages that might be relevant as well as a source code example that demonstrates the problem. If not, I will most likely not be able to help you with your problem. Please review the contribution guidelines before submitting your issue or pull request.

For any other questions, feel free to use the credentials listed below:

Jan Oris (developer)


All versions of curl with dependencies

PHP Build Version
Package Version
Requires php Version >=5.4.0
ext-curl Version *
illuminate/support Version >=4.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package ixudra/curl contains the following files

Loading the files please wait ....