Получение контента страницы с помощью cURL
В этом контексте вы пытаетесь очистить содержимое страницы результатов поиска Google с помощью cURL. Несмотря на попытки установить пользовательские агенты и различные параметры, успешное получение содержимого страницы ускользнуло от вас. Ошибки перенаправления или перемещения страницы продолжают мешать вашим усилиям.
Считается, что проблема может быть связана с кодировкой специальных символов в строке запроса. Чтобы избежать этого, необходимо внести изменения в ваш PHP-код.
Вот подход:
function get_web_page($url)
{
$user_agent = 'Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0';
$options = array(
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POST => false,
CURLOPT_USERAGENT => $user_agent,
CURLOPT_COOKIEFILE => "cookie.txt",
CURLOPT_COOKIEJAR => "cookie.txt",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => "",
CURLOPT_AUTOREFERER => true,
CURLOPT_CONNECTTIMEOUT => 120,
CURLOPT_TIMEOUT => 120,
CURLOPT_MAXREDIRS => 10
);
$ch = curl_init($url);
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;
}
Использование:
$result = get_web_page($url);
if ($result['errno'] != 0) {
// Handle errors: bad URL, timeout, redirect loop
}
if ($result['http_code'] != 200) {
// Handle errors: no page, no permissions, no service
}
$page = $result['content'];
С помощью этого кода вы теперь можете получить точное содержимое страницы, отображаемое в вашем браузере. Учитывая специальные символы в строке запроса, вы сможете преодолеть препятствия, с которыми сталкивались ранее.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3