The cURL standing for Client URL refers to a library for transferring data using various protocols supporting cookies, HTTP, FTP, IMAP, POP3, HTTPS (with SSL Certification), etc. This example will illustrate how to get cookies from a PHP cURL into a variable. The functions provide an option to set a callback that will be called for each response header line. The function will receive the curl object and a string with the header line. Along with their purpose, required for this example are described below:
- curl_init(): Used to initialize a curl object.
- curl_setopt(object, parameter, value): Used to set the value of parameter for a certain curl object.
- curl_exec(object): Used to execute the current curl session. Called after setting the values for desired curl parameters.
- preg_match_all(regExp, inputVariable, OutputVariable): Used to perform a global regular expression check.
Example 1: This example illustrates how to fetch cookies from www.amazon.com
<?php
$curlObj = curl_init();
curl_setopt( $curlObj , CURLOPT_URL, $url );
curl_setopt( $curlObj , CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $curlObj , CURLOPT_HEADER, 1);
curl_setopt( $curlObj , CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec( $curlObj );
preg_match_all( '/^Set-Cookie:\s*([^;]*)/mi' ,
$result , $match_found );
$cookies = array ();
foreach ( $match_found [1] as $item ) {
parse_str ( $item , $cookie );
$cookies = array_merge ( $cookies , $cookie );
}
print_r( $cookies );
curl_close( $curlObj );
?>
|
Note: Each website has its own format of storing cookies according to its requirements. Therefore, any specific format is not available for cookies.
Output:

Example 2: This example illustrates how to fetch cookies from www.google.com
<?php
$curlObj = curl_init();
curl_setopt( $curlObj , CURLOPT_URL, $url );
curl_setopt( $curlObj , CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $curlObj , CURLOPT_HEADER, 1);
curl_setopt( $curlObj , CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec( $curlObj );
preg_match_all( '/^Set-Cookie:\s*([^;]*)/mi' ,
$result , $match_found );
$cookies = array ();
foreach ( $match_found [1] as $item ) {
parse_str ( $item , $cookie );
$cookies = array_merge ( $cookies , $cookie );
}
print_r( $cookies );
curl_close( $curlObj );
?>
|
Output:

Note: Personal data is blurred out.