cURL to bardzo przydatne rozszerzenie dostępne w PHP. Dzięki niemu nie musimy się męczyć z headerami, socketami etc. Korzystamy z eleganckich funkcji. Zacznijmy od najprostszego skryptu, pobranie strony i jej wyświetlenie:
$curl = curl_init( 'http://masterixzone.wordpress.com' );
curl_exec( $curl );
curl_close( $curl );
Inicjujemy, otwieramy połączenie i je zamykamy. Przy okazji funkcja curl_exec() wyświetla nam stronę ( tą pobraną ). Małofunkcjonalne. Zapiszmy stronę do zmiennej:
$curl = curl_init( 'http://masterixzone.wordpress.com' );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER , TRUE );
$content = curl_exec( $curl );
curl_close( $curl );
Korzystamy tutaj z funkcji curl_setopt() aby ustawić odpowiednią opcję. Jakie można ustawiać to można znaleźć w manualu PHP. Teraz w zmiennej $content mamy cały kod pobranej strony.
Na koniec nieco bardziej wyrafinowany fragment, wyślemy formularz – tzn zasymulujemy za pomocą cURL jego wysłanie:
$post_fields['z'] = 'wartość z';
$post_fields['zawod'] = $zawod;// przypisujemy wartość zmiennej
$curlr = curl_init( 'http://masterixzone.wordpress.com' );
curl_setopt( $curl, CURLOPT_POST, TRUE );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $post_fields );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, TRUE );
$content = curl_exec( $curl );
curl_close( $curl );
W zmiennej $content mamy również zawartość strony, ale po wysłaniu formularza metodą POST. Tablica $post_fields zawiera wartości, którymi ‘uzupełniamy’ formularz. Indeksy są nazwami zmiennych i muszą się pokrywać z tymi co są w interesującym nas formularzu.