There's a very good class for it which I regularly use. This class wasn't written by me, but its working very well <?php /* Sean Huber CURL library This library is a basic implementation of CURL capabilities. It works in most modern versions of IE and FF. ==================================== USAGE ==================================== It exports the CURL object globally, so set a callback with setCallback($func). (Use setCallback(array('class_name', 'func_name')) to set a callback as a func that lies within a different class) Then use one of the CURL request methods: get($url); post($url, $vars); vars is a urlencoded string in query string format. Your callback function will then be called with 1 argument, the response text. If a callback is not defined, your request will return the response text. */ class CURL { var $callback = false; function setCallback($func_name) { $this->callback = $func_name; } function doRequest($method, $url, $vars) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); if ($method == 'POST') { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $vars); } $data = curl_exec($ch); curl_close($ch); if ($data) { if ($this->callback) { $callback = $this->callback; $this->callback = false; return call_user_func($callback, $data); } else { return $data; } } else { return curl_error($ch); } } function get($url) { return $this->doRequest('GET', $url, 'NULL'); } function post($url, $vars) { return $this->doRequest('POST', $url, $vars); } } ?> PHP: A code example: <? // Include the cURL class include("curl.class.php"); // Initialize cURL library $curl = new CURL; // The vars $vars = "variable1=blabla&variable2=anothervalue"; // POST it $result = $curl->post("http://www.someurl.com/submit/to/this/url.php", $vars); // or rather GET it? $result = $curl->get("http://www.anotherurl.com/get.php?" . $vars); ?> PHP: Hope this helps