I am using a cURL function from a popular comment on the php.net manuals , though the argument for the function, which is to specify a URL, isn't being recognized or initiated. Now when i enable the CURLOPT_URL
and specify the URL there in the array, it displays the webpage and the array returns the appropriate information, but I do not want the webpage to be displayed, just return the information in the array, but curl_exec is needed in the sum of it all and that always displays the webpage.
What am i doing wrong?
//defines the function get_web_page
$url = "http://ulrichzukowebtv.comli.com";
function get_web_page($url)
{
$options = array(
//CURLOPT_URL => 'http://ulrichzukowebtv.comli.com',
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_ENCODING => "", // handle compressed
CURLOPT_USERAGENT => "spider", // who am i
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect
CURLOPT_TIMEOUT => 120, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
);
$ch = curl_init();
curl_setopt_array($ch, $options);
$content = curl_exec($ch);
$err = curl_errno($ch);
$errmsg = curl_error($ch);
$header = curl_getinfo($ch);
curl_close($ch);
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
return $header;
} //end defining function
$curl_data = "var1=60&var2=test";
//call the function
$response = get_web_page($url, $curl_data);
print '<pre>';
//Returns an array containing all the CURL flags specified
print_r($response);
try using
CURLOPT_RETURNTRANSFER => false,
what i know, if returntransfer is set to TRUE, the web page is displayed in brower. all the filter and other coding comes after the returntranfer, so you are unable to view them
and dont worry, if it is set to false, still curl will get the page and will do the task whatever you will code..
Hoping This will help you..
Try this and see if it does what you want. I haven't actually changed that much, just refactored the code to make it easier to read and added some more descriptive/readable comments to explain what everything does. Where I have changed something, there is a comment explaining what I changed an why.
<?php
function get_web_page ($url, $params = NULL) {
// Add a query string to the URL if one was supplied.
// Previously your second argument $curl_data was unhandled and ignored.
if (is_array($params) || is_object($params)) {
// Build a query string from an associative array or object and append to the URL
$url .= '?'.http_build_query($params);
} else if ($params !== NULL) {
// Append scalar values directly to the URL
$url .= '?'.$params;
}
// Define the options for cURL
$options = array (
CURLOPT_URL => $url, // URL we will be loading
CURLOPT_RETURNTRANSFER => true, // Return data instead of outputting it
CURLOPT_HEADER => false, // Omit headers from the return value
CURLOPT_FOLLOWLOCATION => true, // Follow redirects
CURLOPT_ENCODING => "", // Handle compressed
CURLOPT_USERAGENT => "spider", // Tell the server who we are
CURLOPT_AUTOREFERER => true, // Set referer on redirect
CURLOPT_CONNECTTIMEOUT => 120, // Timeout on connect (2 minutes is a very long time...!)
CURLOPT_TIMEOUT => 120, // Timeout on response (2 minutes is a very long time...!)
CURLOPT_MAXREDIRS => 10 // Stop after 10 redirects
);
// Initialise cURL and set the options we defined above
$ch = curl_init();
curl_setopt_array($ch, $options);
// Make the request
$content = curl_exec($ch);
// Fetch the result info into an array
$result = array();
$result['options'] = $options; // The options used for the request
$result['content'] = $content; // The body of the response from the server
$result['header'] = curl_getinfo($ch); // Information about the request, including some headers
$result['errno'] = curl_errno($ch); // The numeric error code of the result
$result['errmsg'] = curl_error($ch); // The textual error of the result
// Close the curl handle
curl_close($ch);
// Return the result info
return $result;
} // End function definition
// Define the URL to load
$url = "http://ulrichzukowebtv.comli.com/"; // You need the trailing forward slash if you are loading the root of the domain
// Define the GET parameters to pass
// We'll define this as an array to make if easier to read
$params = array (
'var1' => 60,
'var2' => 'test'
);
// Call the function
$response = get_web_page($url, $params);
// Show the result - if you don't want the page to be output, remove these three lines
print '<pre>';
print_r($response);
print '<pre>';
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.