After you read this article: Getting data without risking death with PHP, CURL, you’ve seen the power of CURL. I’ll write more about CURL to introduce a useful PHP class written by me and use it regularly. But first let’s take a CURL research through the examples, step by step:
Example 1: GET, include response header
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://demo.tutorialspots.com/'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0'); curl_setopt($ch, CURLOPT_REFERER, 'https://www.google.com'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); echo $data = curl_exec($ch);
result:
HTTP/1.1 200 OK
Date: Fri, 10 Aug 2012 16:05:17 GMT
Server: LiteSpeed
Connection: close
X-Powered-By: PHP/5.2.17
Content-Type: text/html
Content-Length: 29Wellcome to tutorialspots.com
If you use CURL class
$class = new CURL; $class->referer = 'https://www.google.com'; echo $class->get("http://demo.tutorialspots.com/");
you get the same result.
Example 2: POST
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://demo.tutorialspots.com/curl/post.php'); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, 'site=tutorialspots.com&title=Free Online Tutorials'); echo $data = curl_exec($ch);
Code of http://demo.tutorialspots.com/curl/post.php
result:
Array
(
[site] => tutorialspots.com
[title] => Free Online Tutorials
)
If you use CURL class
$class = new CURL; echo $class->post("http://demo.tutorialspots.com/curl/post.php",'site=tutorialspots.com&title=Free Online Tutorials',2);
you get the same result.