Skip to content
THIS IS NO LONGER MAINTAINED, USE http://docs.guzzlephp.org INSTEAD
Branch: master
Clone or download
Latest commit 2492414 Dec 22, 2015
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config Tested and working with simple_get. Added curl to autoload for this p… Mar 29, 2011
libraries Fixed SSL host verification Jan 15, 2014
LICENSE
README.md Update README.md May 6, 2014
spark.info updated version with PATCH support Apr 23, 2013

README.md

CodeIgniter-cURL

!!! DEPRECATED !!!

This package is no longer actively maintained. If somebody sends in a pull request with some major security bug then I'll merge it, but other than that I am no longer using CodeIgniter Curl for anything. Framework specific code is something I thought was cool in 2009 when I built this, but I've barely touched it since. Use a framework agnostic equivilent, like Guzzle or Requests.

CodeIgniter-cURL is a CodeIgniter library which makes it easy to do simple cURL requests and makes more complicated cURL requests easier too.

Requirements

  1. PHP 5.1+
  2. CodeIgniter 1.7.x - 2.0-dev
  3. PHP 5 (configured with cURL enabled)
  4. libcurl

Features

  • POST/GET/PUT/DELETE requests over HTTP
  • HTTP Authentication
  • Follows redirects
  • Returns error string
  • Provides debug information
  • Proxy support
  • Cookies

Examples

$this->load->library('curl'); 

Simple calls

These do it all in one line of code to make life easy. They return the body of the page, or FALSE on fail.

// Simple call to remote URL
echo $this->curl->simple_get('http://example.com/');

// Simple call to CI URI
$this->curl->simple_post('controller/method', array('foo'=>'bar'));

// Set advanced options in simple calls
// Can use any of these flags http://uk3.php.net/manual/en/function.curl-setopt.php

$this->curl->simple_get('http://example.com', array(CURLOPT_PORT => 8080));
$this->curl->simple_post('http://example.com', array('foo'=>'bar'), array(CURLOPT_BUFFERSIZE => 10)); 

Advanced calls

These methods allow you to build a more complex request.

// Start session (also wipes existing/previous sessions)
$this->curl->create('http://example.com/');

// Option & Options
$this->curl->option(CURLOPT_BUFFERSIZE, 10);
$this->curl->options(array(CURLOPT_BUFFERSIZE => 10));

// More human looking options
$this->curl->option('buffersize', 10);

// Login to HTTP user authentication
$this->curl->http_login('username', 'password');

// Post - If you do not use post, it will just run a GET request
$post = array('foo'=>'bar');
$this->curl->post($post);

// Cookies - If you do not use post, it will just run a GET request
$vars = array('foo'=>'bar');
$this->curl->set_cookies($vars);

// Proxy - Request the page through a proxy server
// Port is optional, defaults to 80
$this->curl->proxy('http://example.com', 1080);
$this->curl->proxy('http://example.com');

// Proxy login
$this->curl->proxy_login('username', 'password');

// Execute - returns responce
echo $this->curl->execute();

// Debug data ------------------------------------------------

// Errors
$this->curl->error_code; // int
$this->curl->error_string;

// Information
$this->curl->info; // array
You can’t perform that action at this time.